
  #ccw-fab{
    position:fixed;right:22px;bottom:22px;z-index:1200;
    width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
    background:var(--grad);color:#fff;display:grid;place-items:center;
    box-shadow:0 10px 32px -6px rgba(46,117,182,.75);
    transition:transform .25s,box-shadow .25s;
  }
  #ccw-fab:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 40px -6px rgba(74,159,224,.8)}
  #ccw-fab .ccw-ico-close{display:none}
  #ccw-fab.open .ccw-ico-chat{display:none}
  #ccw-fab.open .ccw-ico-close{display:block}
  #ccw-fab .ccw-dot{
    position:absolute;top:4px;right:4px;width:13px;height:13px;border-radius:50%;
    background:var(--green);border:2.5px solid var(--bg);
  }
  #ccw-panel{
    position:fixed;right:22px;bottom:94px;z-index:1200;
    width:376px;max-width:calc(100vw - 24px);height:540px;max-height:calc(100dvh - 120px);
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    display:none;flex-direction:column;overflow:hidden;
    box-shadow:0 28px 70px -12px rgba(0,0,0,.65);
  }
  #ccw-panel.open{display:flex;animation:ccwIn .28s ease}
  @keyframes ccwIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
  .ccw-head{
    display:flex;align-items:center;gap:11px;padding:15px 18px;
    background:var(--card-2);border-bottom:1px solid var(--line-soft);flex-shrink:0;
  }
  .ccw-head .ccw-av{
    width:38px;height:38px;border-radius:12px;background:var(--grad);
    display:grid;place-items:center;color:#fff;flex-shrink:0;
  }
  .ccw-head .ccw-nm{font-family:'Sora',sans-serif;font-weight:600;font-size:14.5px}
  .ccw-head .ccw-st{font-size:12px;color:var(--green);display:flex;align-items:center;gap:5px}
  .ccw-head .ccw-st::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green)}
  .ccw-msgs{
    flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;
    scrollbar-width:thin;scrollbar-color:var(--line) transparent;
  }
  .ccw-b{
    max-width:84%;padding:10px 14px;border-radius:15px;
    font-size:14px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;
  }
  .ccw-b.bot{align-self:flex-start;background:var(--card-2);border:1px solid var(--line);border-bottom-left-radius:5px}
  .ccw-b.usr{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:5px}
  .ccw-b.typing{display:flex;gap:5px;align-items:center;padding:14px 16px}
  .ccw-b.typing i{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:ccwTy 1.1s infinite}
  .ccw-b.typing i:nth-child(2){animation-delay:.18s}
  .ccw-b.typing i:nth-child(3){animation-delay:.36s}
  @keyframes ccwTy{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
  .ccw-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 10px;flex-shrink:0}
  .ccw-chip{
    background:rgba(74,159,224,.09);border:1px solid var(--line);color:var(--text);
    font-family:'Sora',sans-serif;font-size:12.5px;font-weight:600;
    padding:7px 13px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s;
  }
  .ccw-chip:hover{border-color:var(--blue-2);background:rgba(74,159,224,.16)}
  .ccw-inp{
    display:flex;gap:9px;padding:12px 14px;border-top:1px solid var(--line-soft);
    background:var(--card-2);flex-shrink:0;
  }
  .ccw-inp input{
    flex:1;background:var(--bg);border:1px solid var(--line);border-radius:12px;
    padding:11px 14px;color:var(--text);font-family:'Manrope',sans-serif;font-size:14px;outline:none;
  }
  .ccw-inp input:focus{border-color:var(--blue-2)}
  .ccw-inp button{
    width:44px;height:44px;border-radius:12px;border:none;cursor:pointer;flex-shrink:0;
    background:var(--grad);color:#fff;display:grid;place-items:center;transition:opacity .2s,transform .2s;
  }
  .ccw-inp button:hover{transform:translateY(-1px)}
  .ccw-inp button:disabled{opacity:.45;cursor:default;transform:none}
  .ccw-note{font-size:10.5px;color:var(--muted-2);text-align:center;padding:0 14px 9px;background:var(--card-2)}
  @media(max-width:480px){
    #ccw-panel{right:12px;bottom:86px;height:70dvh}
    #ccw-fab{right:14px;bottom:14px}
  }
