*{box-sizing:border-box;margin:0;padding:0}[data-nextjs-dialog-overlay],[data-nextjs-toast],nextjs-portal{display:none!important}body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;background:linear-gradient(180deg,#ffe9f0,#fff5f8);color:#333;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;background:#fff;box-shadow:0 0 30px rgba(0,0,0,.05)}.header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ff6b9d;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.avatar{width:56px;height:56px;border-radius:50%;background:#fff;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.header h1{font-size:16px;font-weight:600}.header .status{font-size:11px;opacity:.9}.dev-reset{margin-left:auto;padding:4px 8px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-size:11px;cursor:pointer;font-family:monospace}.dev-reset:hover{background:rgba(255,255,255,.3)}.thread{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#faf6f8}.row{display:flex;gap:8px}.row.user{justify-content:flex-end}.bubble{max-width:78%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.row.assistant .bubble{background:#fff;border:1px solid #f0d6df;border-top-left-radius:4px}.row.user .bubble{background:#ff6b9d;color:#fff;border-top-right-radius:4px}.row.assistant .bubble a{color:#d63384}.row.assistant .bubble a,.row.user .bubble a{text-decoration:underline;word-break:break-all}.row.user .bubble a{color:#fff}.typing{display:inline-flex;gap:4px;padding:12px 16px}.typing span{width:6px;height:6px;border-radius:50%;background:#ff6b9d;opacity:.4;animation:bounce 1.2s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}.composer{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #f0d6df}.composer input{flex:1 1;padding:10px 14px;border:1px solid #f0d6df;border-radius:22px;font-size:14px;outline:none}.composer input:focus{border-color:#ff6b9d}.composer input:disabled{background:#f5f5f5;color:#aaa;cursor:not-allowed}.composer button{padding:10px 18px;background:#ff6b9d;color:#fff;border:none;border-radius:22px;font-weight:600;font-size:14px;cursor:pointer}.composer button:disabled{opacity:.4;cursor:not-allowed}