*{box-sizing:border-box;margin:0}body{font-family:system-ui,-apple-system,PingFang TC,Microsoft JhengHei,sans-serif}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,#faf9ff,#f4f2fb)}.head{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;background:#ffffffb8;border-bottom:1px solid #eee9f7;position:sticky;top:0}.brand{display:flex;align-items:center;gap:11px}.ava{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#8b5cf6 45%,#ec4899);box-shadow:0 4px 12px #a855f759}.ttl{font-weight:700;color:#1b1630;font-size:16px}.head-r{display:flex;align-items:center;gap:12px}.seg{display:flex;background:#efeafa;border-radius:20px;padding:3px;font-size:11.5px}.seg button{padding:4px 10px;border:0;background:none;border-radius:16px;color:#8a83a0;cursor:pointer}.seg button.on{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;font-weight:600}.clr{border:0;background:none;font-size:12px;color:#a79fbf;cursor:pointer}.home{flex:1;width:100%;display:flex;flex-direction:column;justify-content:center}.welcome{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.bigcircle{width:66px;height:66px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#8b5cf6 45%,#ec4899);box-shadow:0 12px 30px #a855f766;margin-bottom:22px}.welcome h3{font-size:24px;color:#1b1630;margin-bottom:12px}.welcome p{color:#8478a0;font-size:14.5px;max-width:460px;line-height:1.7;margin-bottom:24px}.suggest{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:580px}.sg{font-size:13.5px;padding:11px 17px;border-radius:22px;background:#fff;border:1px solid #ebe4f7;color:#6d28d9;cursor:pointer;box-shadow:0 3px 10px #5a46960f;display:inline-flex;gap:7px;align-items:center}.sg .ic{font-size:15px}.kb-body{flex:1;width:100%;max-width:760px;margin:0 auto;padding:22px;display:flex;flex-direction:column;gap:16px;overflow:auto}.row{display:flex;gap:10px;max-width:82%}.row.me{align-self:flex-end}.row.bot{align-self:flex-start}.mini{width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#ec4899);flex:0 0 27px;margin-top:2px}.me .msg{background:#ece7fb;color:#2c2547;padding:11px 15px;border-radius:18px 18px 6px;font-size:14.5px;line-height:1.6}.bot .card{background:#fff;border:1px solid #efeaf8;border-radius:6px 18px 18px;padding:14px 16px;box-shadow:0 6px 18px #5a46960f;font-size:14.5px;line-height:1.7;color:#211c33}.answer b{color:#6d28d9}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md h4{font-size:15.5px;font-weight:700;color:#1b1630;margin:15px 0 6px}.md>h4:first-child{margin-top:0}.md ul{margin:4px 0 10px;padding-left:20px}.md li{margin:3px 0}.md strong{color:#6d28d9;font-weight:700}.src-block{margin-top:12px;padding-top:11px;border-top:1px dashed #ece6f6}.src-label{font-size:11px;letter-spacing:.04em;color:#9a92b0;margin-bottom:7px;text-transform:uppercase}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:12px;padding:5px 11px;border-radius:20px;background:#f4f0fd;color:#6d28d9;border:1px solid #e9e1fb;cursor:pointer}.chip.open{background:#6d28d9;color:#fff;border-color:#6d28d9}.snippet{margin-top:9px;background:#faf8ff;border:1px solid #ece4fb;border-radius:12px;padding:11px 13px;font-size:12.5px;color:#4a4360;line-height:1.7}.snippet .fn{font-size:10.5px;color:#9a92b0;margin-bottom:5px;font-family:ui-monospace,monospace}.tl{margin-top:10px;font-size:12px;color:#a58e6b;background:#fdf6ec;border:1px solid #f6ead2;border-radius:10px;padding:8px 11px;line-height:1.5}.empty-note{background:#fbfaff;border:1px dashed #e6def5;border-radius:14px;padding:12px 15px;color:#7a6f96;font-size:14px;line-height:1.65}.thinking{color:#8478a0;font-size:14px}.thinking .dots{display:inline-block;margin-left:2px;letter-spacing:2px;animation:dots-pulse 1.2s ease-in-out infinite}@keyframes dots-pulse{0%,to{opacity:.35}50%{opacity:1}}.kb-input{width:100%;max-width:760px;margin:0 auto;padding:16px 22px 20px;display:flex;gap:10px;align-items:center}.box{flex:1;min-width:0;background:#fff;border:1px solid #e8e2f4;border-radius:26px;padding:13px 20px;font-size:14px;box-shadow:0 4px 14px #5a46960d}.send{flex:0 0 auto;white-space:nowrap;padding:12px 22px;border:0;border-radius:22px;background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 6px 16px #7c3aed59}
