/* Assistant de chat du socle. Variables a surcharger depuis le CSS du site : --lc-accent, --lc-on-accent, --lc-bg, --lc-fg, --lc-radius. */
#lms-chat{--lc-accent:#1b4a8a;--lc-on-accent:#fff;--lc-bg:#fff;--lc-fg:#1d1d1b;--lc-soft:#eef1f5;--lc-line:#b9bfc7;--lc-radius:14px;
  position:fixed;inset-block-end:16px;inset-inline-end:16px;z-index:9990;font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--lc-fg);box-sizing:border-box}
#lms-chat *,#lms-chat *::before,#lms-chat *::after{box-sizing:border-box}
#lms-chat [hidden]{display:none!important}
#lms-chat .lc-launch{min-height:48px;padding:.6rem 1.1rem;border:0;border-radius:999px;background:var(--lc-accent);color:var(--lc-on-accent);font:inherit;font-weight:600;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.25)}
#lms-chat.lc-open .lc-launch{display:none}
#lms-chat button:focus-visible,#lms-chat textarea:focus-visible,#lms-chat input:focus-visible,#lms-chat .lc-log:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
#lms-chat .lc-panel{display:flex;flex-direction:column;width:min(380px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 32px));max-height:min(620px,calc(100dvh - 32px));background:var(--lc-bg);border:1px solid var(--lc-line);border-radius:var(--lc-radius);box-shadow:0 12px 40px rgba(0,0,0,.28);overflow:hidden}
#lms-chat .lc-head{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;background:var(--lc-accent);color:var(--lc-on-accent)}
#lms-chat .lc-title{margin:0;flex:1;font-size:1rem;font-weight:700;line-height:1.2}
#lms-chat .lc-link{background:none;border:0;padding:.35rem .25rem;min-height:44px;color:inherit;font:inherit;font-size:.82rem;text-decoration:underline;cursor:pointer}
#lms-chat .lc-dform .lc-link{color:var(--lc-accent)}
#lms-chat .lc-close{min-width:44px;min-height:44px;border:0;background:none;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer}
#lms-chat .lc-log{flex:1;min-height:140px;overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:.6rem;background:var(--lc-soft)}
#lms-chat .lc-log>*{flex:none}
#lms-chat .lc-msg{max-width:88%;padding:.5rem .7rem;border-radius:12px;background:#fff;border:1px solid var(--lc-line)}
#lms-chat .lc-msg.lc-u{align-self:flex-end;background:var(--lc-accent);color:var(--lc-on-accent);border-color:var(--lc-accent)}
#lms-chat .lc-who{display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;opacity:.8}
#lms-chat .lc-txt{margin:.1rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
#lms-chat .lc-status{margin:0;padding:.3rem .8rem;font-size:.85rem;background:var(--lc-soft)}
#lms-chat .lc-form{display:flex;gap:.5rem;align-items:flex-end;padding:.6rem .8rem;border-top:1px solid var(--lc-line)}
#lms-chat .lc-in{flex:1;min-width:0;min-height:44px;max-height:120px;padding:.55rem .6rem;border:1px solid #6d737b;border-radius:10px;font:inherit;font-size:16px;color:var(--lc-fg);background:#fff;resize:none}
#lms-chat .lc-send{min-height:44px;padding:.5rem 1rem;border:0;border-radius:10px;background:var(--lc-accent);color:var(--lc-on-accent);font:inherit;font-weight:600;cursor:pointer}
#lms-chat .lc-send:disabled{opacity:.55;cursor:default}
#lms-chat .lc-ask{margin:0 .8rem .4rem;min-height:44px;padding:.4rem .8rem;border:2px solid var(--lc-accent);border-radius:10px;background:#fff;color:var(--lc-accent);font:inherit;font-weight:600;cursor:pointer}
#lms-chat .lc-ask.lc-hot{background:var(--lc-accent);color:var(--lc-on-accent)}
#lms-chat .lc-info{margin:0;padding:.5rem .8rem;font-size:.85rem;line-height:1.35;color:#2f353c;background:#fff7e0;border-bottom:1px solid var(--lc-line);overflow-wrap:anywhere}
#lms-chat .lc-note{margin:0;padding:0 .8rem .6rem;font-size:.78rem;color:#4d535b}
#lms-chat .lc-dform{padding:.6rem .8rem;overflow-y:auto;border-top:1px solid var(--lc-line)}
#lms-chat .lc-dtitle{margin:0 0 .4rem;font-size:1rem}
#lms-chat .lc-field{margin:.4rem 0}
#lms-chat .lc-field label{display:block;font-size:.88rem;font-weight:600}
#lms-chat .lc-field input,#lms-chat .lc-field textarea{width:100%;min-height:44px;padding:.5rem .6rem;border:1px solid #6d737b;border-radius:8px;font:inherit;font-size:16px;color:var(--lc-fg);background:#fff}
#lms-chat .lc-consent{margin:.5rem 0;font-size:.85rem}
#lms-chat .lc-consent input{width:20px;height:20px;vertical-align:middle}
#lms-chat .lc-drow{display:flex;gap:.6rem;align-items:center;margin:.4rem 0 0}
#lms-chat .lc-hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
#lms-chat .lc-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:520px){
  #lms-chat{inset-block-end:12px;inset-inline-end:12px}
  #lms-chat.lc-open{inset:0}
  #lms-chat .lc-panel{width:100vw;height:100vh;height:100dvh;max-height:none;border-radius:0;border:0}
  #lms-chat .lc-head{padding-top:calc(.6rem + env(safe-area-inset-top,0px))}
  #lms-chat .lc-form{padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:no-preference){#lms-chat .lc-panel{animation:lc-in .18s ease-out}}
@keyframes lc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
