.lia-launcher {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 90;
  display: grid;
  grid-template-columns: 3.35rem auto .7rem;
  align-items: center;
  gap: .72rem;
  min-width: 16.5rem;
  padding: .42rem .85rem .42rem .42rem;
  border: 1px solid rgba(255,255,255,.23);
  border-radius: 999px;
  background: linear-gradient(135deg,#4a1b50,#6f3a76);
  color: #fff;
  box-shadow: 0 16px 40px rgba(45,14,48,.34);
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: transform .2s ease, box-shadow .2s ease;
}
.lia-launcher:hover { transform: translateY(-3px); box-shadow: 0 20px 48px rgba(45,14,48,.42); }
.lia-launcher:focus-visible,.lia-close:focus-visible,.lia-options button:focus-visible,.lia-back:focus-visible,.lia-primary-action:focus-visible { outline: 3px solid #d8a69a; outline-offset: 3px; }
.lia-avatar {
  width: 3.35rem;
  height: 3.35rem;
  flex: 0 0 auto;
  border: 2px solid rgba(255,255,255,.75);
  border-radius: 50%;
  background-image: url('assets/lia-avatar.png');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  box-shadow: 0 6px 18px rgba(22,5,24,.25);
}
.lia-launcher-copy { display: flex; flex-direction: column; line-height: 1.18; }
.lia-launcher-copy b { font-size: 1rem; }
.lia-launcher-copy small { margin-top: .22rem; color: #eadfed; font-size: .72rem; }
.lia-online { width: .68rem; height: .68rem; border: 2px solid #fff; border-radius: 50%; background: #4bd06b; box-shadow: 0 0 0 3px rgba(75,208,107,.16); }
.lia-assistant {
  position: fixed;
  right: 1.25rem;
  bottom: 6.15rem;
  z-index: 91;
  width: min(25rem,calc(100vw - 2rem));
  max-height: min(41rem,calc(100vh - 8rem));
  overflow: hidden;
  border: 1px solid rgba(61,23,63,.13);
  border-radius: 25px;
  background: #fcfafc;
  box-shadow: 0 26px 75px rgba(34,10,37,.3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px) scale(.97);
  transform-origin: right bottom;
  transition: opacity .22s ease,transform .22s ease,visibility .22s;
}
.lia-assistant.open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }
.lia-header { display: grid; grid-template-columns: 3.6rem 1fr 2.5rem; align-items: center; gap: .75rem; padding: 1rem; background: linear-gradient(135deg,#3d173f,#65316b); color: #fff; }
.lia-avatar-large { width: 3.6rem; height: 3.6rem; }
.lia-header > span:nth-child(2) { display: flex; flex-direction: column; line-height: 1.15; }
.lia-header b { font-family: 'Playfair Display',serif; font-size: 1.35rem; letter-spacing: .05em; }
.lia-header small { margin-top: .25rem; color: #e8dce9; font-size: .75rem; }
.lia-close { display: grid; place-items: center; width: 2.45rem; height: 2.45rem; border: 0; border-radius: 50%; background: rgba(255,255,255,.13); color: #fff; font-size: 1.7rem; line-height: 1; cursor: pointer; }
.lia-conversation { max-height: calc(100vh - 18rem); overflow-y: auto; padding: 1rem; background: linear-gradient(180deg,#fbf7fc,#fff); }
.lia-message { width: 91%; margin-bottom: .9rem; padding: .9rem 1rem; border-radius: 8px 18px 18px 18px; background: #efe5f1; color: #351438; }
.lia-message p { margin: 0; }
.lia-message p + p { margin-top: .2rem; }
.lia-progress { position: relative; height: .32rem; margin: 0 0 1.45rem; border-radius: 999px; background: #eadfed; }
.lia-progress span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg,#5d2b62,#b882aa); transition: width .25s ease; }
.lia-progress small { position: absolute; top: .42rem; right: 0; color: #786b7b; font-size: .68rem; }
.lia-options { display: grid; gap: .58rem; }
.lia-options button { display: grid; grid-template-columns: 2rem 1fr; align-items: center; gap: .72rem; width: 100%; min-height: 3.45rem; padding: .55rem .75rem; border: 1px solid rgba(61,23,63,.12); border-radius: 14px; background: #fff; color: #2f2232; font: 700 .88rem 'DM Sans',sans-serif; text-align: left; cursor: pointer; transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.lia-options button:hover { transform: translateY(-2px); border-color: #b882aa; box-shadow: 0 8px 22px rgba(61,23,63,.08); }
.lia-options button span { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #5d2b62; color: #fff; font-size: .72rem; }
.lia-answer { padding: .9rem; border: 1px solid rgba(61,23,63,.1); border-radius: 16px; background: #fff; }
.lia-answer-text { margin-bottom: .85rem; color: #4e4051; }
.lia-summary { display: grid; gap: .5rem; margin: 0 0 1rem; }
.lia-summary div { display: grid; grid-template-columns: 5.4rem 1fr; gap: .65rem; padding: .58rem .7rem; border-radius: 11px; background: #f5eef6; }
.lia-summary dt { color: #786b7b; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.lia-summary dd { margin: 0; color: #351438; font-size: .8rem; font-weight: 700; }
.lia-answer-actions { display: grid; gap: .55rem; }
.lia-primary-action,.lia-back { display: flex; align-items: center; justify-content: center; min-height: 2.85rem; border-radius: 999px; font: 700 .84rem 'DM Sans',sans-serif; text-decoration: none; cursor: pointer; }
.lia-primary-action { background: #5d2b62; color: #fff; }
.lia-back { border: 1px solid rgba(61,23,63,.16); background: #fff; color: #5d2b62; }
.lia-footer { padding: .72rem 1rem; border-top: 1px solid rgba(61,23,63,.08); color: #786b7b; font-size: .7rem; text-align: center; }
body.lia-open { overflow: hidden; }
@media (max-width:620px) {
  .lia-launcher { right: .8rem; bottom: .8rem; min-width: 0; grid-template-columns: 3.5rem .7rem; padding: .38rem .55rem .38rem .38rem; }
  .lia-launcher-copy { display: none; }
  .lia-avatar { width: 3.5rem; height: 3.5rem; }
  .lia-assistant { right: .6rem; bottom: 5.8rem; width: calc(100vw - 1.2rem); max-height: calc(100vh - 7rem); border-radius: 22px; }
  .lia-conversation { max-height: calc(100vh - 17rem); }
}
@media (prefers-reduced-motion:reduce) { .lia-launcher,.lia-assistant,.lia-options button { transition: none; } }
