:root{
    --bc-primary:#3b82f6;--bc-primary-10:rgba(59,130,246,.10);--bc-primary-5:rgba(59,130,246,.05);
    --bc-surface:#ffffff;--bc-bg:#f8fafc;--bc-ink:#0f172a;--bc-ink-80:#1e293b;
    --bc-muted:#64748b;--bc-muted-40:#94a3b8;--bc-border:#e2e8f0;--bc-border-soft:#f1f5f9;
    --bc-green:#10b981;--bc-gold:#f59e0b;--bc-red:#ef4444;
    --bc-shadow-sm:0 1px 3px rgba(0,0,0,.04);--bc-shadow-md:0 4px 16px rgba(0,0,0,.06);--bc-shadow-lg:0 12px 40px rgba(0,0,0,.10);
    --bc-radius:14px;--bc-radius-lg:20px;
}
.bc-breakout{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;padding:0;box-sizing:border-box;overflow-x:hidden;z-index:1}
.bc-catbot{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--bc-ink);max-width:none!important;margin:0!important;-webkit-font-smoothing:antialiased}
.bc-shell{border-top:1px solid var(--bc-border);border-bottom:1px solid var(--bc-border);border-radius:0;overflow:hidden;background:var(--bc-surface);box-shadow:var(--bc-shadow-lg);width:100%;max-width:100%;margin:0 auto}
.bc-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#eef2ff);border-bottom:1px solid var(--bc-border);flex-wrap:wrap;gap:12px}
.bc-top-left{display:flex;align-items:center;gap:12px}
.bc-top-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bc-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 12px rgba(59,130,246,.3)}
.bc-title{font-weight:800;font-size:17px;letter-spacing:-.02em;line-height:1.2}
.bc-ver{font-size:11px;font-weight:600;color:var(--bc-muted);background:var(--bc-border-soft);padding:2px 7px;border-radius:6px;margin-left:6px;vertical-align:middle}
.bc-subtitle{font-size:12px;color:var(--bc-muted);font-weight:500;margin-top:1px}
.bc-badge{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;text-decoration:none;transition:all .15s}
.bc-badge-green{background:rgba(16,185,129,.1);color:#059669;border:1px solid rgba(16,185,129,.2)}
.bc-badge-muted{background:var(--bc-border-soft);color:var(--bc-muted);border:1px solid var(--bc-border)}
.bc-badge-blue{background:var(--bc-primary-10);color:#2563eb;border:1px solid rgba(59,130,246,.2)}.bc-badge-blue:hover{background:rgba(59,130,246,.18)}
.bc-chat{padding:20px;background:var(--bc-bg);}
.bc-empty{text-align:center;padding:60px 20px}
.bc-empty-icon{font-size:48px;margin-bottom:16px;opacity:.7}
.bc-empty-title{font-size:18px;font-weight:700;color:var(--bc-ink-80);margin-bottom:6px}
.bc-empty-desc{font-size:14px;color:var(--bc-muted);margin-bottom:24px}
.bc-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.bc-chip{padding:8px 16px;border-radius:20px;border:1px solid var(--bc-border);background:var(--bc-surface);font-size:13px;font-weight:500;color:var(--bc-ink-80);cursor:pointer;transition:all .15s;text-decoration:none}
.bc-chip:hover{background:var(--bc-primary-5);border-color:var(--bc-primary);color:var(--bc-primary)}
@keyframes bc-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bc-msg{display:flex;flex-direction:column;gap:6px;margin:0 0 20px;animation:bc-fade-in .35s ease-out}
.bc-bubble{max-width:92%;padding:14px 16px;border-radius:var(--bc-radius-lg);border:1px solid var(--bc-border);box-shadow:var(--bc-shadow-sm);background:var(--bc-surface);word-break:break-word}
.bc-user .bc-bubble{margin-left:auto;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(59,130,246,.25)}
.bc-user .bc-bubble .bc-prose p{color:#fff}
.bc-user .bc-bubble .bc-prose a{color:#bfdbfe}
.bc-assistant .bc-bubble{margin-right:auto;background:var(--bc-surface)}
.bc-meta{font-size:11px;color:var(--bc-muted-40);font-weight:500;display:flex;align-items:center;gap:8px}
.bc-user .bc-meta{justify-content:flex-end}
.bc-cache-inline{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:10px;background:rgba(16,185,129,.1);color:#059669;font-size:10px;font-weight:700}
.bc-stars{display:inline-flex;gap:2px;margin-left:4px}
.bc-star{cursor:pointer;font-size:16px;color:#d1d5db;transition:color .12s,transform .12s;line-height:1;user-select:none}
.bc-star:hover{transform:scale(1.2)}
.bc-star.active{color:var(--bc-gold)}
.bc-star:hover,.bc-star:hover~.bc-star-prev{color:var(--bc-gold)}
.bc-prose{font-size:14.5px;line-height:1.72;color:var(--bc-ink)}
.bc-prose p{margin:0 0 10px}
.bc-prose h1,.bc-prose h2,.bc-prose h3{margin:16px 0 8px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.bc-prose h1{font-size:19px}.bc-prose h2{font-size:17px;color:var(--bc-ink-80)}.bc-prose h3{font-size:15.5px;color:var(--bc-ink-80)}
.bc-prose ul,.bc-prose ol{margin:8px 0 12px 22px;padding:0}.bc-prose li{margin:4px 0}
.bc-prose a{color:var(--bc-primary);text-decoration:underline;text-underline-offset:2px}
.bc-prose strong{font-weight:700;color:var(--bc-ink)}
.bc-prose code{font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:rgba(15,23,42,.06);padding:2px 7px;border-radius:7px;color:#be185d}
.bc-prose pre{margin:12px 0;padding:14px 16px;border-radius:var(--bc-radius);border:1px solid var(--bc-border);background:#0f172a;color:#e2e8f0;overflow-x:auto;white-space:pre-wrap}
.bc-prose pre code{background:transparent;padding:0;color:inherit;font-size:12.5px}
.bc-prose blockquote{margin:12px 0;padding:12px 16px;border-left:4px solid var(--bc-primary);background:var(--bc-primary-5);border-radius:0 var(--bc-radius) var(--bc-radius) 0;color:var(--bc-ink-80)}
.bc-prose hr{border:0;border-top:1px solid var(--bc-border);margin:16px 0}
.bc-prose::after{content:"";display:table;clear:both}
.bc-prose table{border-collapse:separate;border-spacing:0;width:100%;margin:12px 0;font-size:13.5px;border-radius:var(--bc-radius);overflow:hidden;border:1px solid var(--bc-border)}
.bc-prose th,.bc-prose td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--bc-border)}
.bc-prose th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--bc-muted)}
.bc-prose tr:last-child td{border-bottom:0}
.bc-prose tr:nth-child(even) td{background:rgba(248,250,252,.7)}
.bc-prose tr:hover td{background:var(--bc-primary-5)}
.bc-model-thumb{float:right;margin:0 0 16px 20px;clear:right;background:var(--bc-surface);border:1px solid var(--bc-border);border-radius:var(--bc-radius);box-shadow:var(--bc-shadow-md);overflow:hidden;width:200px}
.bc-model-thumb a{display:block;text-decoration:none}
.bc-model-thumb img{width:200px;height:134px;object-fit:cover;display:block;transition:transform .25s}
.bc-model-thumb img:hover{transform:scale(1.04)}
.bc-model-thumb-label{display:block;text-align:center;font-size:11px;color:var(--bc-primary);padding:6px 8px;font-weight:600;background:var(--bc-primary-5);border-top:1px solid var(--bc-border)}
@media(max-width:520px){.bc-model-thumb{float:none;margin:0 0 14px;width:100%}.bc-model-thumb img{width:100%;height:180px}}
.bc-loading{display:none;align-items:center;gap:12px;padding:16px 0;color:var(--bc-muted)}
.bc-loading.active{display:flex}
.bc-typing{display:flex;gap:5px;align-items:center}
@keyframes bc-bounce{0%,80%,100%{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}
.bc-dot{width:8px;height:8px;border-radius:50%;background:var(--bc-primary);animation:bc-bounce 1.4s infinite ease-in-out}
.bc-dot:nth-child(1){animation-delay:0s}.bc-dot:nth-child(2){animation-delay:.16s}.bc-dot:nth-child(3){animation-delay:.32s}
.bc-loading-text{font-size:13px;font-weight:500}
.bc-err{margin:0 20px 12px;padding:12px 16px;border-radius:var(--bc-radius);background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.18);color:#991b1b;font-size:13px;font-weight:500}
.bc-form{padding:16px 20px;border-top:1px solid var(--bc-border);background:var(--bc-surface)}
.bc-input-row{display:flex;gap:8px;align-items:flex-end}
.bc-input-row textarea{flex:1;min-height:48px;max-height:160px;resize:none;padding:12px 16px;border-radius:var(--bc-radius);border:1.5px solid var(--bc-border);background:var(--bc-bg);font-family:inherit;font-size:14px;color:var(--bc-ink);transition:border-color .15s,box-shadow .15s;line-height:1.5}
.bc-input-row textarea:focus{outline:none;border-color:var(--bc-primary);box-shadow:0 0 0 3px var(--bc-primary-10)}
.bc-input-row textarea::placeholder{color:var(--bc-muted-40)}
.bc-form-actions{display:flex;gap:6px}
.bc-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;transition:all .15s;font-weight:700;font-size:14px;line-height:1}
.bc-btn-send{width:44px;height:44px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px rgba(59,130,246,.3)}.bc-btn-send:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(59,130,246,.4)}
.bc-btn-clear{width:44px;height:44px;background:var(--bc-bg);color:var(--bc-muted);border:1.5px solid var(--bc-border)}.bc-btn-clear:hover{background:rgba(239,68,68,.06);color:var(--bc-red);border-color:rgba(239,68,68,.3)}
.bc-form-bottom{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.bc-select{padding:8px 12px;border-radius:10px;border:1.5px solid var(--bc-border);background:var(--bc-bg);font-family:inherit;font-size:12.5px;font-weight:600;color:var(--bc-ink-80);cursor:pointer;transition:border-color .15s}
.bc-select:focus{outline:none;border-color:var(--bc-primary)}
.bc-form-hint{font-size:11px;color:var(--bc-muted-40);font-weight:500}
@media(max-width:600px){.bc-top{padding:12px 14px}.bc-chat{padding:14px;min-height:380px;height:calc(100vh - 340px)}.bc-form{padding:12px 14px}}
.catbot-pic {
    max-width: 250px !important;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    margin: 10px 10px 10px 0;
    transition: transform 0.2s ease-in-out;
    display: inline-block;
}

.catbot-pic:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(0,0,0,0.25);
    z-index: 10;
}