.onebot-widget *,.onebot-widget *::before,.onebot-widget *::after{box-sizing:border-box;margin:0;padding:0}

.onebot-widget{font-family:'Sora','Inter',system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;color:#e2e8f0;z-index:9999;position:fixed;pointer-events:none}
.onebot-widget-bubble{pointer-events:auto}

.onebot-widget-bubble{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#4F6EF7;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(79,110,247,.35);z-index:9999;transition:transform .2s ease,box-shadow .2s ease,opacity .3s ease}
.onebot-widget-bubble:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(79,110,247,.5)}
.onebot-widget-bubble.footer-hidden{opacity:0;transform:scale(0.8);pointer-events:none}
.onebot-widget-bubble svg{width:26px;height:26px;fill:#fff;transition:opacity .2s}
.onebot-widget-bubble .onebot-close-icon{display:none}
.onebot-widget-bubble.open .onebot-chat-icon{display:none}
.onebot-widget-bubble.open .onebot-close-icon{display:block}

.onebot-widget-bubble.left{right:auto;left:24px}

@keyframes onebot-pulse{0%,100%{box-shadow:0 4px 20px rgba(79,110,247,.35)}50%{box-shadow:0 4px 30px rgba(79,110,247,.6),0 0 0 8px rgba(79,110,247,.1)}}
.onebot-widget-bubble.pulse{animation:onebot-pulse 2s ease-in-out infinite}

.onebot-widget-proactive{position:fixed;bottom:90px;right:24px;max-width:280px;background:#1e2230;border:1px solid #333844;border-radius:12px 12px 4px 12px;padding:12px 16px;color:#e2e8f0;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.4);z-index:9998;opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s;pointer-events:none}
.onebot-widget-proactive.visible{opacity:1;transform:translateY(0);pointer-events:auto}
.onebot-widget-proactive.left{right:auto;left:24px;border-radius:12px 12px 12px 4px}
.onebot-widget-proactive-close{position:absolute;top:4px;right:8px;background:none;border:none;color:#9ca3af;font-size:16px;cursor:pointer;padding:2px}

.onebot-widget-window{position:fixed;bottom:90px;right:24px;width:380px;height:520px;background:#0f1117;border:1px solid #262a36;border-radius:16px;display:none;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:9999;opacity:0;transform:translateY(20px) scale(.95);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.onebot-widget-window.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.onebot-widget-window.left{right:auto;left:24px}

.onebot-widget-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#181b24;border-bottom:1px solid #262a36}
.onebot-widget-header-logo{width:36px;height:36px;border-radius:50%;background:#4F6EF7;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0;transition:background .3s;overflow:hidden}
.onebot-widget-header-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.onebot-widget-header-info{flex:1;min-width:0}
.onebot-widget-header-name{font-weight:600;font-size:14px;color:#fff;transition:color .3s}
.onebot-widget-header-status{font-size:11px;color:#22c55e}

.onebot-widget-tabs{display:flex;background:#181b24;border-bottom:1px solid #262a36}
.onebot-widget-tab{flex:1;padding:8px 0;text-align:center;font-size:12px;font-weight:500;color:#9ca3af;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.onebot-widget-tab.active{color:#4F6EF7;border-bottom-color:#4F6EF7}
.onebot-widget-tab:hover{color:#e2e8f0}

.onebot-widget-body{flex:1;overflow:hidden;position:relative}
.onebot-widget-panel{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .2s}
.onebot-widget-panel.active{opacity:1;pointer-events:auto}

.onebot-widget-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.onebot-widget-messages::-webkit-scrollbar{width:4px}
.onebot-widget-messages::-webkit-scrollbar-thumb{background:#333844;border-radius:2px}

.onebot-widget-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.5;word-break:break-word}
.onebot-widget-msg.user{align-self:flex-end;background:#4F6EF7;color:#fff;border-bottom-right-radius:4px}
.onebot-widget-msg.bot{align-self:flex-start;background:#1e2230;color:#e2e8f0;border-bottom-left-radius:4px}

.onebot-widget-msg-sender{display:block;font-size:11px;font-weight:600;margin-bottom:3px}

.onebot-widget-persona-switch{display:block;text-align:center;font-size:11px;color:#9ca3af;font-style:italic;padding:2px 0}

.onebot-widget-typing{align-self:flex-start;background:#1e2230;border-radius:12px;border-bottom-left-radius:4px;padding:10px 18px;display:flex;gap:4px}
.onebot-widget-typing span{width:6px;height:6px;border-radius:50%;background:#9ca3af;animation:onebot-typing .8s ease-in-out infinite}
.onebot-widget-typing span:nth-child(2){animation-delay:.15s}
.onebot-widget-typing span:nth-child(3){animation-delay:.3s}
@keyframes onebot-typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}

.onebot-widget-input-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#181b24;border-top:1px solid #262a36}
.onebot-widget-input{flex:1;background:#0f1117;border:1px solid #333844;border-radius:8px;padding:8px 12px;color:#e2e8f0;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}
.onebot-widget-input:focus{border-color:#4F6EF7}
.onebot-widget-input::placeholder{color:#6b7280}
.onebot-widget-send{width:36px;height:36px;border-radius:8px;background:#4F6EF7;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.onebot-widget-send:hover{background:#3a56d4}
.onebot-widget-send:disabled{opacity:.5;cursor:not-allowed}

.onebot-widget-channels{padding:16px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}

.onebot-widget-quick-replies{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}
.onebot-widget-quick-reply{background:transparent;border:1px solid #333844;border-radius:20px;padding:6px 14px;color:#e2e8f0;font-size:12px;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap}
.onebot-widget-quick-reply:hover{border-color:#4F6EF7;background:rgba(79,110,247,.1);color:#fff}

.onebot-widget-divider{height:1px;background:#262a36;margin:8px 0}

.onebot-reach-heading{font-size:13px;font-weight:600;color:#9ca3af;text-align:center;padding:16px 16px 4px}
.onebot-reach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:12px 24px 20px;justify-items:center}
.onebot-reach-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;cursor:pointer;transition:transform .15s}
.onebot-reach-item:hover{transform:translateY(-2px)}
.onebot-reach-item--disabled{opacity:.35;pointer-events:none;cursor:default}
.onebot-reach-dot{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:var(--dot-color,#9ca3af);transition:border-color .2s,background .2s,box-shadow .2s}
.onebot-reach-item:hover .onebot-reach-dot{border-color:var(--dot-color,#4F6EF7);background:rgba(255,255,255,.1);box-shadow:0 0 16px rgba(79,110,247,.15)}
.onebot-reach-label{font-size:11px;color:#9ca3af;font-weight:500;text-align:center}

@media(max-width:480px){
  .onebot-widget-window{bottom:0;right:0;left:0;width:100%;height:100%;border-radius:0;max-height:100vh}
  .onebot-widget-window.left{left:0;right:0}
  .onebot-widget-proactive{right:16px;left:16px;max-width:none;bottom:86px}
}
