/* ═══════════════════════════════════════════════
   LYXE WIDGET — Korethi Brand Stylesheet v1.0
   ═══════════════════════════════════════════════ */

:root {
  --lyxe-navy:   #1A1A2E;
  --lyxe-gold:   #C9A84C;
  --lyxe-green:  #2D6A4F;
  --lyxe-ivory:  #F5F0E8;
  --lyxe-white:  #ffffff;
  --lyxe-radius: 16px;
  --lyxe-shadow: 0 8px 40px rgba(0, 0, 0, 0.28);
}

#lyxe-trigger {
  position: fixed; bottom: 28px; right: 28px;
  width: 60px; height: 60px;
  cursor: pointer; z-index: 9998;
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.2s ease;
  filter: drop-shadow(0 4px 18px rgba(201, 168, 76, 0.5));
}
#lyxe-trigger:hover { transform: scale(1.08); }
#lyxe-trigger svg { width: 60px; height: 60px; }

.lyxe-spark { transform-origin: center; animation: lyxePulse 2.5s ease-in-out infinite; }
.lyxe-thinking .lyxe-spark { animation: lyxePulseFast 0.65s ease-in-out infinite; }
@keyframes lyxePulse { 0%,100%{transform:scale(1);opacity:1;} 50%{transform:scale(1.14);opacity:0.7;} }
@keyframes lyxePulseFast { 0%,100%{transform:scale(1);opacity:1;} 50%{transform:scale(1.25);opacity:0.4;} }

#lyxe-trigger::after {
  content: 'Ask Lyxe — pronounced LY-ex';
  position: absolute; bottom: 70px; right: 0;
  background: var(--lyxe-navy); color: var(--lyxe-ivory);
  font-family: 'Inter', sans-serif; font-size: 0.72rem; letter-spacing: 0.04em;
  padding: 6px 12px; border-radius: 6px; white-space: nowrap;
  border: 1px solid var(--lyxe-gold);
  opacity: 0; pointer-events: none; transition: opacity 0.2s ease;
}
#lyxe-trigger:hover::after { opacity: 1; }

#lyxe-panel {
  position: fixed; bottom: 104px; right: 28px;
  width: 380px; height: 560px;
  background: var(--lyxe-ivory);
  border-radius: var(--lyxe-radius);
  box-shadow: var(--lyxe-shadow);
  z-index: 9999;
  display: flex; flex-direction: column; overflow: hidden;
  transform: translateY(20px) scale(0.97);
  opacity: 0; pointer-events: none;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
#lyxe-panel.lyxe-open { transform: translateY(0) scale(1); opacity: 1; pointer-events: all; }

#lyxe-header {
  background: var(--lyxe-navy); padding: 16px 20px;
  display: flex; align-items: center; gap: 14px;
  border-bottom: 1px solid rgba(201,168,76,0.25); flex-shrink: 0;
}
#lyxe-header-avatar { width: 40px; height: 40px; flex-shrink: 0; }
#lyxe-header-info { flex: 1; }
#lyxe-header-name { font-family:'Cinzel',serif; font-size:1rem; font-weight:600; color:var(--lyxe-gold); letter-spacing:0.14em; line-height:1; margin-bottom:4px; }
#lyxe-header-sub { font-family:'Inter',sans-serif; font-size:0.68rem; color:rgba(245,240,232,0.5); letter-spacing:0.04em; }
#lyxe-status { display:flex; align-items:center; gap:5px; font-family:'Inter',sans-serif; font-size:0.68rem; color:#4ade80; letter-spacing:0.05em; white-space:nowrap; }
#lyxe-status::before { content:''; width:7px; height:7px; background:#4ade80; border-radius:50%; display:inline-block; animation:lyxeStatusPulse 2s ease-in-out infinite; }
@keyframes lyxeStatusPulse { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
#lyxe-close { background:none; border:none; color:rgba(245,240,232,0.45); font-size:1.1rem; cursor:pointer; padding:4px 6px; line-height:1; transition:color 0.15s; flex-shrink:0; }
#lyxe-close:hover { color:var(--lyxe-ivory); }

#lyxe-messages { flex:1; overflow-y:auto; padding:20px 16px 12px; display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth; }
#lyxe-messages::-webkit-scrollbar { width:4px; }
#lyxe-messages::-webkit-scrollbar-track { background:transparent; }
#lyxe-messages::-webkit-scrollbar-thumb { background:rgba(201,168,76,0.3); border-radius:2px; }

.lyxe-msg { display:flex; flex-direction:column; max-width:86%; }
.lyxe-msg.lyxe-from-lyxe { align-self:flex-start; }
.lyxe-msg.lyxe-from-user { align-self:flex-end; }
.lyxe-bubble { padding:12px 16px; border-radius:14px; font-family:'Inter',sans-serif; font-size:0.88rem; line-height:1.65; word-break:break-word; }
.lyxe-from-lyxe .lyxe-bubble { background:var(--lyxe-navy); color:var(--lyxe-ivory); border-bottom-left-radius:4px; }
.lyxe-from-user .lyxe-bubble { background:var(--lyxe-green); color:var(--lyxe-white); border-bottom-right-radius:4px; }
.lyxe-msg-label { font-family:'Inter',sans-serif; font-size:0.65rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(26,26,46,0.4); margin-bottom:4px; padding:0 4px; }
.lyxe-from-user .lyxe-msg-label { text-align:right; }

#lyxe-typing { display:none; align-self:flex-start; padding:10px 16px; background:var(--lyxe-navy); border-radius:14px; border-bottom-left-radius:4px; gap:5px; align-items:center; margin:0 16px 4px; flex-shrink:0; }
#lyxe-typing.lyxe-visible { display:flex; }
.lyxe-dot { width:7px; height:7px; background:var(--lyxe-gold); border-radius:50%; animation:lyxeDotBounce 1.2s ease-in-out infinite; }
.lyxe-dot:nth-child(2){animation-delay:0.2s;} .lyxe-dot:nth-child(3){animation-delay:0.4s;}
@keyframes lyxeDotBounce { 0%,80%,100%{transform:translateY(0);opacity:0.45;} 40%{transform:translateY(-7px);opacity:1;} }

#lyxe-email-form { display:none; flex-direction:column; gap:9px; padding:14px 16px; background:var(--lyxe-white); border-top:1px solid rgba(201,168,76,0.2); flex-shrink:0; }
#lyxe-email-form.lyxe-visible { display:flex; }
#lyxe-email-form p { font-family:'Inter',sans-serif; font-size:0.78rem; color:var(--lyxe-navy); margin:0; opacity:0.65; }
#lyxe-email-form input, #lyxe-email-form textarea { font-family:'Inter',sans-serif; font-size:0.84rem; padding:9px 13px; border:1px solid rgba(26,26,46,0.15); border-radius:8px; outline:none; transition:border-color 0.2s; color:var(--lyxe-navy); background:var(--lyxe-ivory); width:100%; box-sizing:border-box; }
#lyxe-email-form input:focus, #lyxe-email-form textarea:focus { border-color:var(--lyxe-gold); }
#lyxe-email-form textarea { resize:none; height:68px; }
#lyxe-email-submit { background:var(--lyxe-gold); color:var(--lyxe-navy); border:none; border-radius:8px; padding:11px; font-family:'Cinzel',serif; font-size:0.78rem; letter-spacing:0.1em; font-weight:600; cursor:pointer; transition:background 0.2s,transform 0.15s; }
#lyxe-email-submit:hover { background:#d4b05a; transform:translateY(-1px); }
#lyxe-email-cancel { background:none; border:none; font-family:'Inter',sans-serif; font-size:0.73rem; color:rgba(26,26,46,0.4); cursor:pointer; text-align:center; padding:3px; }
#lyxe-email-cancel:hover { color:var(--lyxe-navy); }

#lyxe-input-bar { display:flex; align-items:center; gap:10px; padding:13px 16px; background:var(--lyxe-white); border-top:1px solid rgba(201,168,76,0.2); flex-shrink:0; }
#lyxe-input { flex:1; font-family:'Inter',sans-serif; font-size:0.88rem; padding:10px 14px; border:1px solid rgba(26,26,46,0.15); border-radius:10px; outline:none; transition:border-color 0.2s; color:var(--lyxe-navy); background:var(--lyxe-ivory); resize:none; line-height:1.4; }
#lyxe-input:focus { border-color:var(--lyxe-gold); }
#lyxe-send { width:40px; height:40px; background:var(--lyxe-gold); border:none; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background 0.2s,transform 0.15s; }
#lyxe-send:hover { background:#d4b05a; transform:scale(1.05); }
#lyxe-send svg { width:18px; height:18px; fill:var(--lyxe-navy); }

.lyxe-inline-prompt { display:inline-flex; align-items:center; gap:8px; font-family:'Inter',sans-serif; font-size:0.84rem; color:var(--lyxe-gold); cursor:pointer; border:1px solid rgba(201,168,76,0.3); border-radius:8px; padding:8px 16px; background:rgba(201,168,76,0.06); transition:background 0.2s,border-color 0.2s; text-decoration:none; font-weight:500; }
.lyxe-inline-prompt:hover { background:rgba(201,168,76,0.13); border-color:var(--lyxe-gold); }
.lyxe-inline-prompt svg { width:15px; height:15px; fill:var(--lyxe-gold); flex-shrink:0; }

@media (max-width:480px) {
  #lyxe-trigger { bottom:20px; right:20px; width:52px; height:52px; }
  #lyxe-trigger svg { width:52px; height:52px; }
  #lyxe-trigger::after { display:none; }
  #lyxe-panel { bottom:0; right:0; left:0; width:100%; height:85vh; border-radius:20px 20px 0 0; }
}