*{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif}
body{margin:0;background:#f1f5f9;line-height:1.5}
.page{max-width:448px;margin:0 auto;min-height:100vh;background:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}
.chat-wrap{padding:16px;text-align:left}
.chat-card{border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #0000001f;border:1px solid #0000000f}
.chat-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#075e54;color:#fff}
.chat-header img{border-radius:50%;object-fit:cover;flex-shrink:0;display:block}
.identity{min-width:0}
h1{margin:0;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#status{font-size:12px;color:#d1f4ec}
.chat-body{background:#ece5dd;padding:10px 12px 12px;min-height:120px}
.message{display:flex;justify-content:flex-start;margin:6px 0}
.message.self{justify-content:flex-end}
.bubble{max-width:80%;padding:7px 11px;border-radius:12px;border-top-left-radius:3px;box-shadow:0 1px .5px #00000021;word-break:break-word;font-size:14px;line-height:1.45;background:#fff;color:#111b21}
.self .bubble{background:#dcf8c6;border-top-left-radius:12px;border-top-right-radius:3px}
.ticks{color:#53bdeb;font-size:11px;margin-left:6px;white-space:nowrap}
.typing{display:flex;justify-content:flex-start;margin:6px 0}
.typing>div{background:#fff;padding:10px 12px;border-radius:12px;border-top-left-radius:3px;box-shadow:0 1px .5px #00000021}
.typing i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9ca3af;margin:0 2px;animation:dot 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
.action-area{background:#ece5dd;padding:0 14px 16px}
.contact{display:block;width:100%;text-align:center;text-decoration:none;font-weight:800;font-size:16px;line-height:1.3;padding:14px 18px;border-radius:999px;box-shadow:0 6px 16px #00000026;transition:opacity .3s,transform .15s;cursor:pointer;background:#25d366;color:#fff;overflow-wrap:break-word}
.contact:active{transform:scale(.97)}
.contact:focus-visible,#retry:focus-visible{outline:3px solid #075e54;outline-offset:3px}
.contact[aria-disabled="true"]{opacity:.45;cursor:wait}
.ghost{visibility:hidden!important;pointer-events:none!important}
.enter{animation:enter .35s ease both}.pulse{animation:pulse 1.6s ease-in-out infinite}
[hidden]{display:none!important}
#error{font-size:13px;color:#7f1d1d;margin:12px 0 4px;text-align:center}
#retry{display:block;margin:8px auto 0;border:1px solid #075e54;border-radius:8px;background:#fff;color:#075e54;padding:8px 16px;cursor:pointer}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes enter{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
