:root { --zuri-violet: #6d4aff; --zuri-indigo: #3024a6; --zuri-mint: #83f4dc; }
#zuri-launcher { position: fixed; right: 22px; bottom: 84px; z-index: 1900; border: 0; border-radius: 999px; padding: 8px 15px 8px 9px; color: #fff; background: linear-gradient(135deg, #7b5cff, #3325ae); box-shadow: 0 14px 34px rgba(51,37,174,.35); display: flex; align-items: center; gap: 9px; font-weight: 700; transition: transform .22s ease, box-shadow .22s ease, opacity .18s ease; }
#zuri-launcher:hover { color:#fff; transform: translateY(-3px); box-shadow: 0 18px 40px rgba(51,37,174,.45); }
.zuri-launcher-orb { width: 34px; height:34px; border-radius: 50%; overflow:hidden; display:grid; place-items:center; background:#fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); }
.zuri-launcher-orb img { width:100%; height:100%; object-fit:cover; object-position:center; }
#zuri-panel { position:fixed; right:22px; bottom:22px; z-index:1900; width:min(440px, calc(100vw - 28px)); height:min(680px, calc(100vh - 44px)); display:none; overflow:hidden; border:1px solid rgba(255,255,255,.62); border-radius:26px; background:#fbfbff; box-shadow:0 28px 82px rgba(28,24,80,.30); }
#zuri-panel.is-open { display:flex; flex-direction:column; animation:zuri-rise .25s cubic-bezier(.2,.9,.2,1); }
.zuri-header { padding:19px 20px 16px; color:#fff; background:radial-gradient(circle at 88% 5%, rgba(131,244,220,.6), transparent 24%), linear-gradient(135deg,#2e2495,#7b5cff); }
.zuri-profile { display:flex; align-items:center; gap:11px; }
.zuri-avatar { width:46px; height:46px; border-radius:16px; background:#fff; overflow:hidden; box-shadow:0 7px 20px rgba(0,0,0,.16); }
.zuri-avatar img { width:100%; height:100%; object-fit:cover; }
.zuri-title { font-weight:800; letter-spacing:.01em; font-size:1rem; }.zuri-subtitle { font-size:.76rem; opacity:.86; }.zuri-online { display:inline-flex; align-items:center; gap:5px; margin-top:4px; font-size:.68rem; opacity:.9; }.zuri-online i { color:var(--zuri-mint); font-size:.52rem; }
.zuri-close { margin-left:auto; color:#fff; border:0; background:rgba(255,255,255,.15); width:30px; height:30px; border-radius:10px; }
.zuri-context { display:flex; gap:7px; overflow:auto; padding:11px 13px 8px; background:#f2f0ff; scrollbar-width:none; }.zuri-context::-webkit-scrollbar {display:none}.zuri-chip { white-space:nowrap; padding:5px 8px; border-radius:9px; color:#4a428c; background:#fff; border:1px solid #e6e1ff; font-size:.68rem; font-weight:650; }.zuri-chip i { margin-right:4px; color:#6d4aff; }
.zuri-messages { flex:1; overflow-y:auto; padding:18px 17px; background:linear-gradient(180deg,#fff 0%,#f8f8ff 100%); }.zuri-row { display:flex; margin-bottom:13px; gap:9px; }.zuri-row.user { justify-content:flex-end; }.zuri-bubble { max-width:82%; padding:11px 13px; border-radius:16px 16px 16px 5px; color:#28263f; background:#f0edff; font-size:.88rem; line-height:1.48; box-shadow:0 2px 7px rgba(45,35,140,.05); }.zuri-row.user .zuri-bubble { border-radius:16px 16px 5px 16px; color:#fff; background:linear-gradient(135deg,#7253ff,#4433c7); }.zuri-mini { width:29px; height:29px; border-radius:10px; overflow:hidden; flex:0 0 auto; background:#e7e2ff; }.zuri-mini img { width:100%; height:100%; object-fit:cover; }.zuri-typing { display:none; color:#6d4aff; font-size:.75rem; padding:0 15px 9px; }.zuri-typing.visible { display:block; }
.zuri-suggestions { display:flex; gap:6px; overflow:auto; padding:8px 12px; border-top:1px solid #eeeaff; background:#fff; }.zuri-suggestions button { flex:0 0 auto; border:1px solid #dfd9ff; color:#5b4ab6; background:#f9f8ff; border-radius:999px; padding:6px 9px; font-size:.7rem; }
.zuri-form { display:flex; gap:8px; padding:10px 12px 12px; border-top:1px solid #eeeaff; background:#fff; }.zuri-form input { min-width:0; flex:1; border:1px solid #dfd9ff; border-radius:12px; padding:10px 11px; font-size:.84rem; outline:none; }.zuri-form input:focus { border-color:#8d7aff; box-shadow:0 0 0 3px rgba(109,74,255,.11); }.zuri-send { flex:0 0 auto; width:39px; border:0; border-radius:12px; color:#fff; background:#5d46e7; }
@keyframes zuri-rise { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }
body.zuri-panel-open #zuri-launcher, body.zuri-panel-open #globalHelpContainer { opacity:0; pointer-events:none; transform:translateY(12px); }
@media (max-width: 575px) { #zuri-launcher { right:14px; bottom:72px; } #zuri-panel { right:14px; bottom:14px; height:min(640px,calc(100vh - 28px)); } .zuri-launcher-label {display:none;} }
