@charset "utf-8";
/* CSS Document */
/* HB Chatbot — lightweight, Bootstrap 4–friendly, dark-mode aware */

:root{
  --hb-accent:#17a2b8;         /* info tone */
  --hb-bg:#ffffff;
  --hb-text:#222;
  --hb-muted:#666;
  --hb-border:#e6e8ec;
  --hb-shadow:0 8px 40px rgba(0,0,0,.18);
}

body.night-mode :root,
body.night-mode{
  --hb-bg:#0f1115;
  --hb-text:#e9eef5;
  --hb-muted:#a7b0be;
  --hb-border:#1b2230;
  --hb-shadow:0 10px 40px rgba(0,0,0,.5);
}

#hb-bubble{
  position:fixed; right:18px; bottom:18px; z-index:2147483000;
  width:56px; height:56px; border-radius:50%;
  background:var(--hb-accent); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--hb-shadow); cursor:pointer; user-select:none;
}
#hb-bubble:active{ transform:scale(.98); }

#hb-panel{
  position:fixed; right:18px; bottom:86px; z-index:2147483000;
  width: min(360px, 94vw); max-height:70vh; display:none;
  background:var(--hb-bg); color:var(--hb-text);
  border:1px solid var(--hb-border); border-radius:16px; box-shadow:var(--hb-shadow);
  overflow:hidden;
}

#hb-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px; border-bottom:1px solid var(--hb-border);
  font-weight:600;
}
#hb-close{ background:none; border:0; font-size:20px; color:var(--hb-muted); cursor:pointer; }

#hb-body{ padding:10px 12px 12px; overflow:auto; max-height:calc(70vh - 56px - 62px); }
.hb-tip{ font-size:13px; color:var(--hb-muted); margin:6px 0 10px; }
.hb-item{ border:1px solid var(--hb-border); border-radius:10px; padding:10px; margin-bottom:10px; }
.hb-item .hb-title{ font-weight:600; margin-bottom:4px; }
.hb-item .hb-meta{ font-size:12px; color:var(--hb-muted); margin-bottom:6px; }
.hb-item .hb-snippet{ font-size:14px; line-height:1.45; }
.hb-badges{ display:flex; gap:6px; flex-wrap:wrap; margin-top:6px; }
.hb-badge{ font-size:11px; border:1px solid var(--hb-border); border-radius:999px; padding:2px 8px; }

#hb-form{ display:flex; gap:8px; padding:10px 12px; border-top:1px solid var(--hb-border); }
#hb-q{ flex:1; border:1px solid var(--hb-border); border-radius:999px; padding:10px 12px; background:transparent; color:var(--hb-text); }
#hb-send{ border:0; border-radius:999px; padding:0 14px; background:var(--hb-accent); color:#fff; font-weight:600; }

.hb-spinner{ display:none; font-size:13px; color:var(--hb-muted); padding:0 12px 8px; }
.hb-error{ color:#c0392b; font-size:13px; padding:0 12px 8px; }

.hb-hl,.ms-hl,.hl{ background:rgba(255,234,138,.6); border-radius:3px; padding:0 2px; }

