/* Lycka Assistant — floating FAQ chatbot */
.lc-launch{position:fixed;right:24px;bottom:24px;z-index:1200;width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;color:#fff;font-size:1.5rem;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 10px 30px rgba(79,70,229,.5);display:flex;align-items:center;justify-content:center;transition:transform .3s ease,box-shadow .3s ease}
.lc-launch:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 14px 36px rgba(79,70,229,.65)}
.lc-launch::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(99,102,241,.55);animation:lcPulse 2.4s ease-out infinite}
.lc-launch.open::before{display:none}
.lc-launch i{position:absolute;transition:transform .35s ease,opacity .25s ease}
.lc-launch .lc-i-close{opacity:0;transform:rotate(-90deg) scale(.5)}
.lc-launch.open .lc-i-chat{opacity:0;transform:rotate(90deg) scale(.5)}
.lc-launch.open .lc-i-close{opacity:1;transform:none}
.lc-badge{position:absolute;top:-2px;right:-2px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;font:700 .7rem/20px 'Inter',sans-serif;text-align:center;border:2px solid #fff}
@keyframes lcPulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.6);opacity:0}}

.lc-tip{position:fixed;right:96px;bottom:36px;z-index:1200;background:#fff;color:#0f172a;font:500 .875rem/1.4 'Inter',sans-serif;padding:11px 16px;border-radius:14px 14px 4px 14px;box-shadow:0 10px 30px rgba(15,23,42,.2);opacity:0;transform:translateY(8px);pointer-events:none;transition:all .4s ease;max-width:220px}
.lc-tip.show{opacity:1;transform:none;pointer-events:auto;cursor:pointer}

.lc-panel{position:fixed;right:24px;bottom:100px;z-index:1200;width:380px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 124px);display:flex;flex-direction:column;background:#f4f6fb;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(15,23,42,.35),0 0 0 1px rgba(15,23,42,.06);font-family:'Inter',sans-serif;opacity:0;visibility:hidden;transform:translateY(24px) scale(.96);transform-origin:bottom right;transition:opacity .3s ease,transform .35s cubic-bezier(.22,.8,.3,1),visibility 0s .35s}
.lc-panel.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .35s cubic-bezier(.22,.8,.3,1),visibility 0s}

.lc-head{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;color:#fff;background:linear-gradient(120deg,#4338ca,#2563eb 60%,#0891b2);position:relative;flex-shrink:0}
.lc-avatar{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;position:relative}
.lc-avatar::after{content:'';position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:#22c55e;border:2px solid #2563eb}
.lc-title{flex:1;min-width:0}
.lc-title strong{display:block;font:700 1rem/1.2 'Sora','Inter',sans-serif}
.lc-title span{font-size:.75rem;opacity:.85}
.lc-hbtn{width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.16);font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:background .25s ease,transform .25s ease}
.lc-hbtn:hover{background:rgba(255,255,255,.32)}
.lc-hbtn.lc-reset:hover i{transform:rotate(-200deg)}
.lc-hbtn i{transition:transform .5s ease}

.lc-body{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain}
.lc-body::-webkit-scrollbar{width:6px}
.lc-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}
.lc-msg{display:flex;gap:8px;max-width:88%;animation:lcIn .35s ease both}
.lc-msg.bot{align-self:flex-start}
.lc-msg.user{align-self:flex-end;flex-direction:row-reverse}
.lc-mav{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#06b6d4);color:#fff;font-size:.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.lc-bubble{padding:10px 14px;font-size:.875rem;line-height:1.55;border-radius:16px;word-wrap:break-word;overflow-wrap:anywhere}
.lc-msg.bot .lc-bubble{background:#fff;color:#1e293b;border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(15,23,42,.06)}
.lc-msg.user .lc-bubble{background:linear-gradient(135deg,#6366f1,#2563eb);color:#fff;border-bottom-right-radius:4px}
.lc-bubble a{color:#4f46e5;font-weight:600;text-decoration:underline}
.lc-bubble ul{margin:6px 0 0;padding-left:18px}
.lc-bubble li{margin:2px 0}
@keyframes lcIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.lc-typing{display:inline-flex;gap:4px;padding:4px 2px}
.lc-typing i{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:lcDot 1.1s infinite ease-in-out}
.lc-typing i:nth-child(2){animation-delay:.15s}.lc-typing i:nth-child(3){animation-delay:.3s}
@keyframes lcDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.lc-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 4px 36px;animation:lcIn .4s ease both}
.lc-chip{border:1px solid rgba(99,102,241,.35);background:#fff;color:#4338ca;font:600 .78rem/1 'Inter',sans-serif;padding:9px 13px;border-radius:999px;cursor:pointer;transition:all .25s ease}
.lc-chip:hover{background:linear-gradient(135deg,#6366f1,#2563eb);color:#fff;border-color:transparent;transform:translateY(-2px);box-shadow:0 6px 16px rgba(79,70,229,.3)}

.lc-foot{flex-shrink:0;padding:12px 14px 10px;background:#fff;border-top:1px solid #e5e9f2}
.lc-form{display:flex;align-items:center;gap:8px;background:#f1f4fa;border:1px solid #e2e8f0;border-radius:999px;padding:5px 5px 5px 16px;transition:border-color .25s ease,box-shadow .25s ease}
.lc-form:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15);background:#fff}
.lc-input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:400 .9rem 'Inter',sans-serif;color:#0f172a;padding:7px 0}
.lc-input::placeholder{color:#94a3b8}
.lc-ibtn{width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;transition:all .25s ease}
.lc-mic{background:transparent;color:#64748b}
.lc-mic:hover{background:#e2e8f0;color:#4338ca}
.lc-mic.listening{background:#ef4444;color:#fff;animation:lcRec 1.2s ease-in-out infinite}
@keyframes lcRec{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{box-shadow:0 0 0 9px rgba(239,68,68,0)}}
.lc-send{background:linear-gradient(135deg,#6366f1,#2563eb);color:#fff}
.lc-send:hover{transform:scale(1.08);box-shadow:0 6px 16px rgba(79,70,229,.4)}
.lc-note{text-align:center;font-size:.68rem;color:#94a3b8;margin-top:8px}

.back-to-top{bottom:100px;right:36px}

@media(max-width:520px){
  .lc-panel{right:0;bottom:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}
  .lc-launch.open{display:none}
  .lc-tip{right:92px}
}
@media(prefers-reduced-motion:reduce){.lc-launch::before,.lc-mic.listening{animation:none}}

/* Robot avatar */
.lc-bot{width:100%;height:100%;display:block;overflow:visible}
.lc-eye{transform-box:fill-box;transform-origin:center;animation:lcBlink 4.5s infinite}
.lc-ant{animation:lcAnt 1.8s ease-in-out infinite}
@keyframes lcBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes lcAnt{0%,100%{opacity:1}50%{opacity:.35}}
.lc-launch .lc-i-chat{position:absolute;width:38px;height:38px;transition:transform .35s ease,opacity .25s ease}
.lc-launch .lc-i-chat .lc-bot{width:100%;height:100%}
.lc-avatar{width:48px;height:48px;padding:5px;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.1));border:2px solid rgba(255,255,255,.55)}
.lc-mav{width:34px;height:34px;padding:4px;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 4px 10px rgba(79,70,229,.3);margin-top:0}
.lc-mav .lc-bot{width:100%;height:100%}

/* Face movement */
.lc-bot{transform:perspective(170px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,0deg));transition:transform .18s ease-out}
.lc-face{transform:translate(var(--fx,0px),var(--fy,0px));transition:transform .18s ease-out}
.lc-eyes{transform:translate(var(--ex,0px),var(--ey,0px));transition:transform .12s ease-out}
.lc-mouth2{opacity:0;transition:opacity .2s ease}
.lc-launch:hover .lc-mouth,.lc-avatar:hover .lc-mouth{opacity:0}
.lc-launch:hover .lc-mouth2,.lc-avatar:hover .lc-mouth2{opacity:1}
.lc-launch:hover .lc-eye,.lc-avatar:hover .lc-eye{animation:none;transform:scale(1.15,.55)}
.lc-launch .lc-i-chat{animation:lcFloat 3.2s ease-in-out infinite}
@keyframes lcFloat{0%,100%{translate:0 0}50%{translate:0 -3px}}
.lc-bot.think .lc-eyes{animation:lcThink 1.1s ease-in-out infinite;transition:none}
@keyframes lcThink{0%,100%{transform:translate(-2.4px,-1px)}50%{transform:translate(2.4px,-1px)}}
.lc-bot.think .lc-ant{fill:#f472b6;animation-duration:.5s}
@media(prefers-reduced-motion:reduce){.lc-launch .lc-i-chat,.lc-bot.think .lc-eyes{animation:none}}
