.angelina-chat{position:fixed;top:0;right:0;height:100dvh;width:min(440px,100vw);z-index:120;display:flex;flex-direction:column;background:rgba(255,250,252,.97);backdrop-filter:blur(18px);border-left:1px solid #edb8cc;box-shadow:-18px 0 40px rgba(91,34,62,.18);color:#57293d;transform:translateX(100%);transition:transform .3s ease}
.angelina-chat.open{transform:translateX(0)}
.angelina-chat[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid #f3d3df}
.chat-head img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid #f6c3d6;flex:none}
.chat-head>div{flex:1;min-width:0}
.chat-head b{display:block;color:#b34b74;font-size:1.02rem;line-height:1.2}
.chat-head small{display:block;color:#9c6680;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-sessions{max-width:120px;border:1px solid #edb8cc;border-radius:10px;background:#fff;color:#57293d;font-size:.78rem;padding:5px 6px}
.chat-new,.chat-close{border:0;background:transparent;color:#9c6680;font-size:20px;cursor:pointer;width:32px;height:32px;border-radius:50%;line-height:1}
.chat-new:hover,.chat-close:hover{background:#fbe7ee}
.chat-scenarios{display:flex;gap:6px;padding:10px 14px 4px;overflow-x:auto;scrollbar-width:none}
.chat-scenarios button{flex:none;border:1px solid #edb8cc;background:#fff;color:#8a4a67;border-radius:999px;padding:5px 12px;font-size:.8rem;cursor:pointer}
.chat-scenarios button.active{background:linear-gradient(135deg,#f6c3d6,#f9dbe5);border-color:#e8a8c0;color:#7a2d52;font-weight:600}
.chat-messages{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.chat-msg{max-width:88%;display:flex;flex-direction:column;gap:4px}
.chat-msg.user{align-self:flex-end;align-items:flex-end}
.chat-msg.assistant{align-self:flex-start}
.chat-text{padding:10px 14px;border-radius:18px;font-size:.93rem;line-height:1.6;overflow-wrap:anywhere}
.chat-msg.user .chat-text{background:linear-gradient(135deg,#f6c3d6,#fbd9e6);border-bottom-right-radius:6px;color:#5a1f3c}
.chat-msg.assistant .chat-text{background:#fff;border:1px solid #f0cbd9;border-bottom-left-radius:6px}
.chat-text p{margin:0}.chat-text p+p{margin-top:.55em}
.chat-msg small{color:#a97b90;font-size:.7rem;padding:0 6px}
.chat-msg.typing .chat-text{color:#9c6680;font-style:italic;animation:chatPulse 1.4s ease-in-out infinite}
.chat-login{align-self:flex-start;margin:4px 0 0 6px;border:0;border-radius:999px;padding:8px 14px;background:#b34b74;color:#fff;font-size:.85rem;cursor:pointer}
.chat-starters{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px}
.chat-starters:empty{display:none}
.chat-starters button{border:1px dashed #e3a9c1;background:#fff8fb;color:#8a4a67;border-radius:14px;padding:7px 11px;font-size:.8rem;text-align:left;cursor:pointer}
.chat-starters button:hover{background:#fbe7ee}
.chat-form{display:flex;gap:8px;align-items:flex-end;padding:10px 14px;border-top:1px solid #f3d3df;background:rgba(255,255,255,.7)}
.chat-form textarea{flex:1;resize:none;border:1px solid #edb8cc;border-radius:16px;padding:10px 14px;font:inherit;font-size:.93rem;line-height:1.5;color:#57293d;background:#fff;max-height:140px;outline:none}
.chat-form textarea:focus{border-color:#d98bb0;box-shadow:0 0 0 3px rgba(217,139,176,.18)}
.chat-form button{flex:none;border:0;border-radius:999px;padding:10px 18px;background:linear-gradient(135deg,#d2577f,#b34b74);color:#fff;font-weight:600;cursor:pointer}
.chat-form button:disabled{opacity:.55;cursor:wait}
.chat-note{margin:0;padding:6px 14px 12px;font-size:.7rem;color:#a97b90;line-height:1.4}
.guide-chat-open{margin-top:6px;border:0;border-radius:999px;padding:6px 12px;background:#b34b74;color:#fff;font-size:.8rem;cursor:pointer;align-self:flex-start}
.guide-chat-open:hover{background:#9b3d63}
body.chat-open .angelina-guide{opacity:0;pointer-events:none;transition:opacity .2s}
@keyframes chatPulse{50%{opacity:.5}}
@media(max-width:700px){.angelina-chat{left:0;right:auto;width:100vw}.chat-sessions{display:none}.chat-head{padding-top:max(14px,env(safe-area-inset-top))}.chat-note{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
