#cyw-chat { --c-acc: #9d4edd; --c-acc-t: #c39bff; --c-ok: #2dd4bf; --c-bg: #14141f; --c-bg2: #0b0b14; --c-ink: #efedf7; --c-soft: #9c9ab4; --c-line: rgba(239,237,247,.12); font-family: "Outfit", "Plus Jakarta Sans", system-ui, sans-serif; }
  #cyw-chat * { box-sizing: border-box; }
  .cyw-btn { position: fixed; right: 20px; bottom: 20px; z-index: 99990; display: inline-flex; align-items: center; gap: 8px; background: var(--c-acc); color: #fff; border: 0; border-radius: 999px; padding: 12px 18px 12px 14px; font: 600 15px/1 inherit; cursor: pointer; box-shadow: 0 12px 30px -10px rgba(157,78,221,.8), inset 0 1px 0 rgba(255,255,255,.15); transition: transform .12s ease-out, filter .12s; }
  .cyw-btn:hover { filter: brightness(1.08); } .cyw-btn:active { transform: translateY(1px); }
  .cyw-btn i { width: 8px; height: 8px; border-radius: 50%; background: var(--c-ok); box-shadow: 0 0 0 0 rgba(45,212,191,.6); animation: cyw-pulse 2.2s ease-out infinite; }
  @keyframes cyw-pulse { 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
  .cyw-win { position: fixed; right: 20px; bottom: 76px; z-index: 99991; width: min(380px, calc(100vw - 24px)); height: min(560px, calc(100vh - 100px)); display: flex; flex-direction: column; background: rgba(20,20,31,.94); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid var(--c-line); border-top-color: rgba(157,78,221,.55); border-radius: 14px; box-shadow: 0 24px 60px -20px rgba(3,3,12,.9), 0 2px 8px rgba(3,3,12,.5); overflow: hidden; color: var(--c-ink); }
  .cyw-win[hidden] { display: none !important; }
  .cyw-bar { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--c-line); background: rgba(11,11,20,.7); font: 500 13px/1.3 ui-monospace, Menlo, Consolas, monospace; letter-spacing: .03em; }
  .cyw-bar b { font-weight: 600; } .cyw-st { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; color: var(--c-soft); font-size: 12px; }
  .cyw-st i { width: 7px; height: 7px; border-radius: 50%; background: var(--c-ok); } .cyw-st.is-run i { background: #ffb454; animation: cyw-blink .9s steps(2) infinite; }
  @keyframes cyw-blink { to { opacity: .35; } }
  .cyw-x { background: none; border: 0; color: var(--c-soft); cursor: pointer; font-size: 16px; padding: 2px 6px; border-radius: 6px; margin-left: 4px; } .cyw-x:hover { color: var(--c-ink); background: rgba(239,237,247,.08); }
  .cyw-list { list-style: none; margin: 0; padding: 14px; overflow: auto; flex: 1; display: flex; flex-direction: column; gap: 10px; }
  .cyw-m { max-width: 88%; padding: 10px 13px; border-radius: 12px; font-size: 14.5px; line-height: 1.5; }
  .cyw-m--bot { background: rgba(239,237,247,.07); border-bottom-left-radius: 4px; align-self: flex-start; }
  .cyw-m--moi { background: rgba(157,78,221,.35); border-bottom-right-radius: 4px; align-self: flex-end; }
  .cyw-m--err { border: 1px solid rgba(255,180,84,.5); }
  .cyw-m a { color: var(--c-acc-t); }
  .cyw-dots { display: inline-flex; gap: 4px; padding: 4px 2px; } .cyw-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--c-soft); animation: cyw-dot 1s infinite; } .cyw-dots i:nth-child(2) { animation-delay: .15s; } .cyw-dots i:nth-child(3) { animation-delay: .3s; }
  @keyframes cyw-dot { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
  .cyw-sug { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
  .cyw-sug button { background: rgba(239,237,247,.06); border: 1px solid var(--c-line); color: var(--c-ink); border-radius: 999px; padding: 6px 11px; font: 500 12.5px/1 inherit; cursor: pointer; } .cyw-sug button:hover { border-color: rgba(157,78,221,.6); }
  .cyw-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px; border-top: 1px solid var(--c-line); }
  .cyw-form input { width: 100%; background: rgba(239,237,247,.04); border: 1px solid rgba(239,237,247,.22); border-radius: 8px; color: var(--c-ink); font: 400 14.5px/1.3 inherit; padding: 10px 12px; }
  .cyw-form input:focus { outline: 2px solid var(--c-acc-t); outline-offset: 1px; border-color: transparent; }
  .cyw-form button { background: var(--c-acc); color: #fff; border: 0; border-radius: 8px; padding: 0 14px; font: 600 14px inherit; cursor: pointer; }
  .cyw-foot { padding: 0 14px 10px; font: 400 11px/1.4 ui-monospace, Menlo, monospace; color: var(--c-soft); }
  /* Tant que la bannière cookies (Complianz) est affichée, l'assistant s'efface. */
  body:has(.cmplz-cookiebanner.cmplz-show) #cyw-chat { display: none; }
  @media (max-width: 600px) { .cyw-btn { right: 12px; bottom: 12px; padding: 12px 14px; } .cyw-btn span { display: none; } .cyw-win { right: 12px; left: 12px; width: auto; bottom: 66px; height: min(520px, calc(100vh - 90px)); } }
