

  :root{
    --blv-bg:#0b0f14;
    --blv-panel:#101826;
    --blv-card:#0f1724;
    --blv-text:#eaf0ff;
    --blv-muted:#a9b4c7;
    --blv-border:rgba(255,255,255,.10);
    --blv-accent:#7c5cff;
    --blv-shadow:0 20px 60px rgba(0,0,0,.45);
    --blv-radius:18px;
    --blv-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue";
  }

  .blv-launcher{
    position:fixed; right:18px; bottom:18px; z-index:99999;
    display:flex; gap:10px; align-items:center;
    font-family:var(--blv-font);
  }
  .blv-pill{
    display:none;
    padding:10px 12px;
    background:rgba(16,24,38,.92);
    border:1px solid var(--blv-border);
    color:var(--blv-text);
    border-radius:999px;
    box-shadow:var(--blv-shadow);
    font-size:14px;
    max-width:260px;
  }
  @media (min-width: 900px){
    .blv-pill{ display:block; }
  }
  .blv-btn{
    width:56px; height:56px;
    border:none; border-radius:999px;
    background:linear-gradient(135deg, var(--blv-accent), #3b82f6);
    color:white; cursor:pointer;
    box-shadow:var(--blv-shadow);
    display:grid; place-items:center;
  }
  .blv-btn:focus{ outline:3px solid rgba(124,92,255,.35); outline-offset:3px; }
  .blv-btn svg{ width:24px; height:24px; }

  .blv-panel{
    position:fixed; right:18px; bottom:90px; z-index:99999;
    width:min(380px, calc(100vw - 36px));
    height:min(600px, calc(100vh - 140px));
    background:rgba(16,24,38,.96);
    border:1px solid var(--blv-border);
    border-radius:var(--blv-radius);
    box-shadow:var(--blv-shadow);
    overflow:hidden;
    display:none;
    font-family:var(--blv-font);
    backdrop-filter: blur(10px);
  }
  .blv-panel.open{ display:flex; flex-direction:column; }

  .blv-header{
    padding:14px 14px 12px;
    background:linear-gradient(135deg, rgba(124,92,255,.18), rgba(59,130,246,.12));
    border-bottom:1px solid var(--blv-border);
    display:flex; align-items:center; justify-content:space-between;
    gap:10px;
  }
  .blv-title{
    display:flex; flex-direction:column;
    gap:2px;
  }
  .blv-title strong{
    color:var(--blv-text);
    font-size:14px;
    letter-spacing:.2px;
  }
  .blv-title span{
    color:var(--blv-muted);
    font-size:12px;
  }
  .blv-close{
    border:none; background:transparent; color:var(--blv-text);
    cursor:pointer; padding:6px; border-radius:10px;
  }
  .blv-close:hover{ background:rgba(255,255,255,.06); }

  .blv-body{
    padding:12px;
    flex:1;
    overflow:auto;
    background:
      radial-gradient(1200px 600px at 20% 10%, rgba(124,92,255,.10), transparent 50%),
      radial-gradient(900px 500px at 90% 30%, rgba(59,130,246,.08), transparent 55%),
      rgba(11,15,20,.35);
  }

  .blv-msg{
    display:flex; gap:10px;
    margin:10px 0;
    align-items:flex-start;
  }
  .blv-avatar{
    width:30px; height:30px; border-radius:10px;
    display:grid; place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid var(--blv-border);
    color:var(--blv-text);
    flex:0 0 auto;
  }
  .blv-bubble{
    max-width:85%;
    padding:10px 12px;
    border-radius:16px;
    border:1px solid var(--blv-border);
    background:rgba(15,23,36,.86);
    color:var(--blv-text);
    font-size:14px;
    line-height:1.35;
    white-space:pre-line;
  }
  .blv-user .blv-avatar{ display:none; }
  .blv-user{ justify-content:flex-end; }
  .blv-user .blv-bubble{
    background:linear-gradient(135deg, rgba(124,92,255,.22), rgba(59,130,246,.18));
    border-color:rgba(124,92,255,.30);
  }

  .blv-chips{
    display:flex; flex-wrap:wrap; gap:8px;
    margin:8px 0 2px;
  }
  .blv-chip{
    border:1px solid var(--blv-border);
    background:rgba(255,255,255,.06);
    color:var(--blv-text);
    padding:8px 10px;
    border-radius:999px;
    font-size:13px;
    cursor:pointer;
    user-select:none;
  }
  .blv-chip:hover{ background:rgba(255,255,255,.10); }

  .blv-footer{
    padding:10px;
    border-top:1px solid var(--blv-border);
    background:rgba(16,24,38,.92);
  }
  .blv-inputrow{
    display:flex; gap:8px; align-items:center;
  }
  .blv-input{
    flex:1;
    border:1px solid var(--blv-border);
    background:rgba(255,255,255,.05);
    color:var(--blv-text);
    padding:10px 12px;
    border-radius:14px;
    font-size:14px;
  }
  .blv-input::placeholder{ color:rgba(169,180,199,.75); }
  .blv-send{
    border:none;
    background:linear-gradient(135deg, var(--blv-accent), #3b82f6);
    color:white;
    padding:10px 12px;
    border-radius:14px;
    cursor:pointer;
  }

  .blv-legal{
    margin-top:8px;
    color:var(--blv-muted);
    font-size:11.5px;
    line-height:1.25;
  }
  .blv-legal a{ color:var(--blv-text); text-decoration:underline; }
