/* =============================================================
   LUX PROMO — Demo Chat component  (lux-acc-*)
   Reusable "owner ↔ AI agent" demo dialog for landing pages.
   Pairs with /lux-demo-chat.js. See DEMO-CHAT-COMPONENT.md.
   Uses page CSS vars: --accent --accent2 --white --black --dim --border
   ============================================================= */
.lux-acc-title{font-family:'Manrope',sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.18;letter-spacing:-.01em;max-width:780px;margin-top:14px;color:var(--white);}
.lux-acc-lead{margin-top:18px;max-width:660px;font-size:16px;line-height:1.7;color:rgba(245,243,238,.62);}
.lux-acc-wrap{margin-top:40px;}
.lux-acc-chat{max-width:880px;margin:0 auto;background:linear-gradient(180deg,#0c0c12,#08080d);border:1px solid var(--border);border-radius:18px;overflow:hidden;position:relative;box-shadow:0 40px 90px -50px rgba(0,0,0,.95);direction:ltr;text-align:left;}
.lux-acc-chat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));z-index:3;}
.lux-acc-head{display:flex;align-items:center;gap:13px;padding:16px 20px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.015);}
.lux-acc-ava{flex:none;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;color:var(--black);box-shadow:0 8px 22px -8px rgba(200,255,0,.55);}
.lux-acc-id{display:flex;flex-direction:column;gap:3px;min-width:0;}
.lux-acc-name{font-weight:700;font-size:15px;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lux-acc-name i{color:var(--dim);font-style:normal;margin:0 5px;}
.lux-acc-name b{color:var(--accent);font-weight:700;}
.lux-acc-sync{display:flex;align-items:center;gap:7px;font-size:12px;color:rgba(245,243,238,.5);}
.lux-acc-live{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 0 rgba(0,255,209,.6);animation:luxAccPulse 2.2s infinite;}
@keyframes luxAccPulse{0%{box-shadow:0 0 0 0 rgba(0,255,209,.5);}70%{box-shadow:0 0 0 8px rgba(0,255,209,0);}100%{box-shadow:0 0 0 0 rgba(0,255,209,0);}}
.lux-acc-badge{margin-left:auto;flex:none;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:rgba(200,255,0,.1);border:1px solid rgba(200,255,0,.25);padding:6px 11px;border-radius:999px;white-space:nowrap;}
.lux-acc-body{height:clamp(430px,56vh,540px);overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:15px;scroll-behavior:smooth;background:radial-gradient(120% 60% at 50% 0,rgba(200,255,0,.025),transparent 60%);}
.lux-acc-body::-webkit-scrollbar{width:8px;}
.lux-acc-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:8px;}
.lux-acc-body::-webkit-scrollbar-thumb:hover{background:rgba(200,255,0,.3);}
.lux-acc-msg{display:flex;gap:10px;max-width:82%;align-items:flex-end;}
.lux-acc-msg--ai{align-self:flex-start;}
.lux-acc-msg--owner{align-self:flex-end;flex-direction:row-reverse;}
.lux-acc-mava{flex:none;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;}
.lux-acc-msg--ai .lux-acc-mava{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--black);}
.lux-acc-msg--owner .lux-acc-mava{background:rgba(255,255,255,.07);color:rgba(245,243,238,.8);border:1px solid var(--border);}
.lux-acc-bubble{padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.6;color:rgba(245,243,238,.92);min-width:0;}
.lux-acc-msg--ai .lux-acc-bubble{background:#15151c;border:1px solid var(--border);border-bottom-left-radius:5px;}
.lux-acc-msg--owner .lux-acc-bubble{background:linear-gradient(135deg,rgba(200,255,0,.15),rgba(0,255,209,.09));border:1px solid rgba(200,255,0,.2);color:var(--white);border-bottom-right-radius:5px;}
.lux-acc-who{display:block;font-size:11px;font-weight:700;letter-spacing:.03em;margin-bottom:5px;opacity:.7;}
.lux-acc-msg--ai .lux-acc-who{color:var(--accent);}
.lux-acc-msg--owner .lux-acc-who{color:var(--accent2);text-align:right;}
.lux-acc-bubble p{margin:0;}
.lux-acc-bubble p+p{margin-top:8px;}
.lux-acc-grp{display:block;font-weight:700;font-size:13px;color:var(--white);margin:13px 0 3px;}
.lux-acc-grp:first-child{margin-top:0;}
.lux-acc-kv{list-style:none;margin:10px 0 2px;padding:0;}
.lux-acc-kv li{display:flex;justify-content:space-between;gap:14px;padding:6px 0;border-bottom:1px dashed rgba(255,255,255,.07);font-size:13.5px;}
.lux-acc-kv li:last-child{border-bottom:none;padding-bottom:0;}
.lux-acc-kv span{color:rgba(245,243,238,.6);}
.lux-acc-kv b{color:var(--white);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
.lux-acc-rank{list-style:none;margin:10px 0 2px;padding:0;display:flex;flex-direction:column;gap:10px;}
.lux-acc-rank li{display:flex;align-items:center;gap:11px;}
.lux-acc-rn{flex:none;width:22px;height:22px;border-radius:7px;background:rgba(200,255,0,.12);color:var(--accent);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.lux-acc-rc{display:flex;flex-direction:column;flex:1;min-width:0;}
.lux-acc-rc b{color:var(--white);font-weight:600;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lux-acc-rc small{font-size:11.5px;color:rgba(245,243,238,.48);}
.lux-acc-amt{flex:none;color:var(--white);font-weight:600;font-variant-numeric:tabular-nums;}
.lux-acc-steps{counter-reset:luxstep;list-style:none;margin:10px 0 2px;padding:0;display:flex;flex-direction:column;gap:9px;}
.lux-acc-steps li{display:flex;gap:11px;font-size:13.5px;line-height:1.5;color:rgba(245,243,238,.85);align-items:flex-start;}
.lux-acc-steps li::before{content:counter(luxstep);counter-increment:luxstep;flex:none;width:22px;height:22px;border-radius:7px;background:rgba(0,255,209,.12);color:var(--accent2);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.lux-acc-steps li>div{flex:1;min-width:0;}
.lux-acc-due{display:block;font-size:11.5px;color:rgba(245,243,238,.5);margin-top:2px;}
.lux-acc-quote{margin:10px 0 4px;padding:11px 14px;border-left:2px solid var(--accent);background:rgba(200,255,0,.05);border-radius:0 7px 7px 0;color:rgba(245,243,238,.9);font-size:13.5px;line-height:1.6;}
.lux-acc-quote--bad{border-left-color:#ff7a7a;background:rgba(255,122,122,.05);}
.lux-acc-quote--good{border-left-color:var(--accent2);background:rgba(0,255,209,.05);}
.lux-acc-tip{margin-top:10px;display:flex;gap:9px;font-size:13px;line-height:1.55;color:rgba(245,243,238,.72);}
.lux-acc-tip::before{content:'💡';flex:none;}
.lux-acc-neg{color:#ff7a7a;font-weight:600;}
.lux-acc-pos{color:var(--accent2);font-weight:600;}
.lux-acc-ask{margin-top:9px;font-size:13px;color:var(--accent2);}
.lux-acc-typing{align-self:flex-start;display:none;align-items:center;gap:11px;padding:11px 15px;background:#15151c;border:1px solid var(--border);border-radius:16px;border-bottom-left-radius:5px;}
.lux-acc-typing.is-on{display:flex;}
.lux-acc-tlabel{font-size:12.5px;color:rgba(245,243,238,.55);}
.lux-acc-dots{display:inline-flex;gap:4px;}
.lux-acc-dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.35;animation:luxAccBlink 1.2s infinite;}
.lux-acc-dots i:nth-child(2){animation-delay:.18s;}
.lux-acc-dots i:nth-child(3){animation-delay:.36s;}
@keyframes luxAccBlink{0%,70%,100%{opacity:.3;transform:translateY(0);}35%{opacity:1;transform:translateY(-3px);}}
.lux-acc-chat.is-anim .lux-acc-msg{display:none;}
.lux-acc-chat.is-anim .lux-acc-msg.is-shown{display:flex;animation:luxAccIn .45s cubic-bezier(.16,1,.3,1);}
@keyframes luxAccIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.lux-acc-compose{padding:14px 18px 6px;border-top:1px solid var(--border);background:rgba(255,255,255,.012);}
.lux-acc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.lux-acc-chip{font-size:12px;color:rgba(245,243,238,.65);background:rgba(255,255,255,.04);border:1px solid var(--border);padding:7px 13px;border-radius:999px;}
.lux-acc-inbar{display:flex;align-items:center;gap:10px;padding:7px 7px 7px 16px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:999px;}
.lux-acc-inbar input{flex:1;min-width:0;background:none;border:none;outline:none;color:rgba(245,243,238,.85);font-size:14px;font-family:inherit;}
.lux-acc-inbar input::placeholder{color:rgba(245,243,238,.4);}
.lux-acc-send{flex:none;width:38px;height:38px;border-radius:50%;background:var(--accent);border:none;display:flex;align-items:center;justify-content:center;color:var(--black);cursor:default;}
.lux-acc-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 18px 16px;}
.lux-acc-hint{font-size:12px;color:rgba(245,243,238,.45);max-width:60%;}
.lux-acc-ctrl{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--black);background:var(--accent);border:none;padding:9px 17px;border-radius:999px;cursor:pointer;transition:all .2s;font-family:inherit;}
.lux-acc-ctrl:hover{background:var(--accent2);transform:translateY(-1px);}
.lux-acc-cta{margin-top:30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;}
.lux-acc-cta p{font-size:15px;color:rgba(245,243,238,.6);max-width:520px;line-height:1.6;}
@media (max-width:600px){
.lux-acc-msg{max-width:90%;}
.lux-acc-body{height:64vh;min-height:380px;padding:18px 14px;gap:13px;}
.lux-acc-head{padding:13px 14px;gap:11px;}
.lux-acc-ava{width:40px;height:40px;}
.lux-acc-name{font-size:14px;}
.lux-acc-name i,.lux-acc-name b{display:none;}
.lux-acc-badge{font-size:9px;padding:5px 9px;}
.lux-acc-chips{display:none;}
.lux-acc-compose{padding:12px 14px 4px;}
.lux-acc-foot{padding:12px 14px;}
.lux-acc-hint{max-width:100%;}
.lux-acc-ctrl{margin-left:0;}
.lux-acc-bubble{font-size:14px;}
}
@media (prefers-reduced-motion:reduce){.lux-acc-live,.lux-acc-dots i{animation:none;}}
