/* Lucie — widget global Stratenet (piste B) — généré le 17/10/2026 depuis ai-sdr-test.html */
.lu-launch{position:fixed;bottom:24px;right:24px;z-index:2147483000;display:flex;align-items:center;gap:10px;font-family:inherit}
.lu-launch.left{right:auto;left:24px}
.lu-launch.off{display:none}
.lu-orb{width:40px;height:40px;border-radius:50%;flex:0 0 auto;background:radial-gradient(circle at 32% 30%,#9ce6e6,#2792dc 58%,#203e64);position:relative}
@keyframes luBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
html{transition:margin .25s ease}
html.lu-drag,html.lu-drag .lu-panel{transition:none}
@media(min-width:901px){html.lu-open-r{margin-right:var(--lu-w,440px)}html.lu-open-l{margin-left:var(--lu-w,440px)}}
.lu-panel{position:fixed;top:0;bottom:0;right:0;width:var(--lu-w,440px);background:#fff;color:#16202b;z-index:2147483000;display:flex;flex-direction:column;border-left:1px solid #dce2ea;box-shadow:0 0 48px rgba(22,32,43,.12);transform:translateX(105%);transition:transform .25s ease;font-family:inherit;visibility:hidden}
.lu-panel.left{right:auto;left:0;border-left:0;border-right:1px solid #dce2ea;transform:translateX(-105%)}
.lu-panel.on{transform:none;visibility:visible}
.lu-grip{position:absolute;top:0;bottom:0;left:-5px;width:10px;cursor:col-resize;z-index:2}
.lu-panel.left .lu-grip{left:auto;right:-5px}
.lu-grip:after{content:"";position:absolute;top:50%;left:3px;width:4px;height:44px;margin-top:-22px;border-radius:2px;background:#cfd6e0;opacity:0;transition:opacity .15s}
.lu-grip:hover:after,html.lu-drag .lu-grip:after{opacity:1}
.lu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px 12px 20px;border-bottom:1px solid #e6eaf0}
.lu-id{display:flex;align-items:center;gap:12px;min-width:0}
.lu-id .lu-orb.speak{animation:luPulse 1.3s ease-in-out infinite}
@keyframes luPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.lu-name{font-size:16px;font-weight:700;line-height:1.2}
.lu-state{font-size:13px;color:#556173;display:flex;align-items:center;gap:6px;white-space:nowrap}
.lu-dot{width:8px;height:8px;border-radius:50%;background:#2e9b57;flex:0 0 auto}
.lu-dot.live{background:#2b63c9}
.lu-acts{display:flex;align-items:center;gap:2px;flex:0 0 auto}
.lu-rdv{height:40px;padding:0 14px;margin-right:4px;border-radius:20px;border:0;background:#203e64;color:#fff;font:inherit;font-size:14px;font-weight:700;display:flex;align-items:center;gap:7px;cursor:pointer}
.lu-rdv:hover{background:#16202b}
.lu-ib{width:44px;height:44px;border:0;background:none;border-radius:10px;display:grid;place-items:center;color:#16202b;cursor:pointer;flex:0 0 auto}
.lu-ib:hover{background:#f1f4f8}
.lu-panel button:focus-visible,.lu-panel input:focus-visible,.lu-panel a:focus-visible,.lu-launch button:focus-visible{outline:2px solid #2b63c9;outline-offset:2px}
.lu-log{flex:1;min-height:0;overflow-y:auto;padding:22px 22px 14px;display:flex;flex-direction:column;gap:16px}
.lu-msg .lu-who{display:block;font-size:13px;font-weight:700;color:#2b63c9;margin-bottom:4px}
.lu-msg .lu-txt{font-size:15.5px;line-height:1.55}
.lu-me{align-self:flex-end;max-width:82%;background:#eef2f7;border-radius:16px 16px 4px 16px;padding:10px 14px;font-size:15px;line-height:1.5}
.lu-sep{align-self:center;font-size:12.5px;color:#556173;padding:4px 10px;border-radius:12px;background:#f1f4f8}
.lu-log a.lu-link{color:#2b63c9;text-decoration:underline}
.lu-log a.lu-cta{display:inline-block;margin-top:8px;padding:10px 18px;border-radius:22px;background:#203e64;color:#fff;text-decoration:none;font-weight:700}
.lu-log a.lu-cta:hover{background:#16202b}
.lu-wait i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8795a8;margin-right:4px;animation:luBlk 1.1s infinite}
.lu-wait i:nth-child(2){animation-delay:.18s}.lu-wait i:nth-child(3){animation-delay:.36s}
@keyframes luBlk{0%,60%,100%{opacity:.25}30%{opacity:1}}
.lu-home{display:flex;flex-direction:column;gap:14px}
.lu-home.off{display:none}
.lu-voicecard{width:100%;border:0;text-align:left;border-radius:18px;padding:16px 18px;background:#16202b;color:#fff;display:flex;align-items:center;gap:14px;cursor:pointer;font:inherit}
.lu-voicecard:hover{background:#203e64}
.lu-voicecard .lu-orb{width:48px;height:48px}
.lu-voicecard b{display:block;font-size:17px;margin-bottom:3px}
.lu-voicecard span{font-size:13.5px;color:#c9d3e0;line-height:1.4}
.lu-h{font-size:13px;font-weight:700;color:#556173;margin-top:4px}
.lu-sg{display:flex;flex-direction:column;gap:8px}
.lu-sg button{min-height:44px;text-align:left;border:1px solid #dce2ea;border-radius:12px;padding:10px 14px;background:#fff;color:#16202b;font:inherit;font-size:15px;cursor:pointer}
.lu-sg button:hover{border-color:#2b63c9}
.lu-portes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lu-portes button{min-height:72px;text-align:left;border:1px solid #dce2ea;border-radius:14px;padding:12px 14px;background:#fff;color:#16202b;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.lu-portes button:hover{border-color:#2b63c9}
.lu-portes b{font-size:14.5px}
.lu-portes span{font-size:13px;color:#556173;line-height:1.35}
.lu-foot{position:relative;border-top:1px solid #e6eaf0;padding:12px 16px 10px}
.lu-live{display:none;align-items:center;gap:12px;border:1.5px solid #2b63c9;background:#f2f6fc;border-radius:16px;padding:10px 10px 10px 14px;margin-bottom:10px}
.lu-live.on{display:flex}
.lu-wave{display:flex;align-items:center;gap:3px;height:26px;flex:0 0 auto}
.lu-wave i{width:4px;height:12px;border-radius:2px;background:#2b63c9;animation:luWv .9s ease-in-out infinite}
.lu-wave i:nth-child(2){animation-delay:.15s}.lu-wave i:nth-child(3){animation-delay:.3s}.lu-wave i:nth-child(4){animation-delay:.45s}
@keyframes luWv{0%,100%{transform:scaleY(.6)}50%{transform:scaleY(1.9)}}
.lu-live div{flex:1;min-width:0}
.lu-live b{display:block;font-size:15px}
.lu-live span{font-size:13px;color:#3a4657}
.lu-hang{height:40px;padding:0 14px;border-radius:20px;border:1.5px solid #9b2c3a;background:#fff;color:#9b2c3a;font:inherit;font-size:14px;font-weight:700;cursor:pointer;flex:0 0 auto}
.lu-box{border:1.5px solid #cfd6e0;border-radius:16px;padding:6px 6px 6px 14px;display:flex;align-items:center;gap:4px}
.lu-box:focus-within{border-color:#2b63c9}
.lu-in{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:#16202b;padding:8px 0}
.lu-in::placeholder{color:#6b7686}
.lu-send{width:40px;height:40px;border-radius:50%;border:0;background:#eef2f7;color:#16202b;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.lu-mic{width:44px;height:44px;border-radius:50%;border:0;background:#2b63c9;color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.lu-mic.live{background:#9b2c3a}
.lu-pop{display:none;position:absolute;left:16px;right:16px;bottom:100%;margin-bottom:8px;background:#fff;border:1px solid #dce2ea;border-radius:16px;box-shadow:0 14px 34px rgba(22,32,43,.16);padding:8px}
.lu-pop.on{display:block}
.lu-poph{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 6px 10px;font-size:13px;font-weight:700;color:#556173}
.lu-pop .lu-sg button{border:0;border-radius:10px}
.lu-pop .lu-sg button:hover{background:#f1f4f8}
.lu-clear{margin:4px 0 0 10px;min-height:40px;border:0;background:none;padding:0;font:inherit;font-size:13.5px;color:#556173;text-decoration:underline;cursor:pointer}
.lu-chips{display:none;gap:8px;overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}
.lu-chips.on{display:flex}
.lu-chips button{flex:0 0 auto;white-space:nowrap;height:36px;padding:0 14px;border-radius:18px;border:1px solid #dce2ea;background:#fff;color:#16202b;font:inherit;font-size:14px;cursor:pointer}
.lu-chips button:hover{border-color:#2b63c9}
.lu-chips button.rdv{border-color:#203e64;color:#203e64;font-weight:700}
.lu-legal{margin:8px 2px 0;font-size:12px;color:#556173}
@media(max-width:900px){
 .lu-panel{top:auto;left:0;right:0;width:100%;height:88vh;border:0;border-radius:18px 18px 0 0;transform:translateY(105%)}
 .lu-panel.left{transform:translateY(105%)}
 .lu-grip,.lu-side{display:none}
 .lu-launch,.lu-launch.left{left:auto;right:16px;bottom:16px}
 .lu-rdv .lu-rdvt{display:none}
}
@media(prefers-reduced-motion:reduce){html,.lu-panel{transition:none}.lu-wave i,.lu-fab-ring,.lu-fab i,.lu-tease,.lu-id .lu-orb.speak,.lu-wait i{animation:none}}
</style>
/* ---------- Lanceur « orbe vivante » (piste B) ---------- */
.lu-launch{align-items:flex-end;gap:14px;font-family:inherit}
.lu-fab{position:relative;width:68px;height:68px;flex:0 0 auto}
.lu-fab-ring{position:absolute;inset:0;border-radius:50%;border:2px solid #5B8DF0;animation:luRing 2.4s ease-out infinite;pointer-events:none}
.lu-fab-ring.r2{animation-delay:1.2s}
@keyframes luRing{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.55);opacity:0}}
.lu-fab button{position:absolute;inset:0;border-radius:50%;border:0;padding:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#8FB0F5 0%,#3574e3 55%,#203e64 100%);box-shadow:0 0 0 3px #fff,0 0 32px rgba(91,141,240,.55),0 12px 28px rgba(11,18,32,.3);display:flex;align-items:center;justify-content:center;gap:3px;transition:transform .15s}
.lu-fab button:hover{transform:scale(1.06)}
.lu-fab i{display:block;width:3px;height:22px;border-radius:2px;background:#fff;animation:luBar 1.1s ease-in-out infinite}
.lu-fab i:nth-child(2){height:28px;animation-delay:.15s}.lu-fab i:nth-child(3){height:16px;animation-delay:.3s}.lu-fab i:nth-child(4){height:24px;animation-delay:.45s}
@keyframes luBar{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.lu-tease{position:relative;display:none;max-width:min(320px,calc(100vw - 120px));box-sizing:border-box;padding:14px 16px 14px;border-radius:18px 18px 4px 18px;background:#0B1220;color:#f1f4f8;border:1px solid rgba(143,176,245,.35);box-shadow:0 16px 40px rgba(11,18,32,.35);flex-direction:column;gap:10px;animation:luIn .35s ease-out}
.lu-tease.on{display:flex}
@keyframes luIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lu-tease p{margin:0;padding-right:22px;font-size:15px;line-height:1.45;color:#f1f4f8}
.lu-tease-x{position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;border-radius:8px;background:none;color:#8A96A6;cursor:pointer;display:grid;place-items:center}
.lu-tease-x:hover{color:#fff;background:rgba(255,255,255,.08)}
.lu-tease-acts{display:flex;gap:8px}
.lu-tease-acts button{height:38px;padding:0 15px;border-radius:19px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:7px}
.lu-t-voice{border:0;background:#3574e3;color:#fff}
.lu-t-voice:hover{background:#2b63c9}
.lu-t-text{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff}
.lu-t-text:hover{background:rgba(255,255,255,.08)}
.lu-launch.left{flex-direction:row-reverse}
.lu-launch.left .lu-tease{border-radius:18px 18px 18px 4px}
@media(max-width:900px){.lu-fab{width:60px;height:60px}.lu-tease p{font-size:14px}}

.lu-tease-q{display:flex;flex-direction:column;gap:6px}
.lu-tease-q button{min-height:38px;text-align:left;border:1px solid rgba(143,176,245,.35);border-radius:12px;padding:8px 12px;background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:13.5px;line-height:1.35;cursor:pointer}
.lu-tease-q button:hover{background:rgba(255,255,255,.12);border-color:#8FB0F5}
.lu-tease button:focus-visible{outline:2px solid #8FB0F5;outline-offset:2px}
.lu-id>div{min-width:0}
.lu-state span{overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.lu-tease{padding:12px 14px;gap:8px}.lu-tease-q button:nth-child(n+2){display:none}}