:root{--bg:#050505;--panel:#0d0d0d;--panel2:#161616;--line:#242424;--txt:#f4f1e8;--mut:#8f8a7a;--brand:#25D366;--gold:#25D366;--gold2:#5be58f;--red:#B11226;--in:#1b1b1b;--out:#005C4B;--outtxt:#E9EDEF;--green:#25D366;--greentxt:#06150c;--snme:#7fe3b3;--readtick:#53bdeb;--wall:#0a0a0a;--pat:#25D36612}
:root[data-theme=light]{--gold:#1DA851;--gold2:#4fd07f;--green:#1DA851;--greentxt:#fff;--bg:#f6f1e3;--panel:#fffdf6;--panel2:#f1ead4;--line:#e3d9b8;--txt:#1a1608;--mut:#7a7258;--in:#ffffff;--out:#D9FDD3;--outtxt:#111b21;--snme:#0a7a4f;--readtick:#1b8fd0;--wall:#efe7cc;--pat:#1DA85122}
*{box-sizing:border-box;margin:0}
html,body{height:100%;background:var(--bg);color:var(--txt);font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,textarea{font:inherit;color:var(--txt);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;outline:none;width:100%}
input:focus,textarea:focus{border-color:var(--gold)}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hidden{display:none!important}
.gold{color:var(--gold)}
/* auth */
#auth{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(100% 60% at 50% 0%,#0c2a1c,#050505 70%);padding:20px}
#auth .card{width:100%;max-width:380px;background:#0d0d0dee;border:1px solid #25D36655;border-radius:20px;padding:28px;color:#f4f1e8}
.logo{font-weight:800;font-size:30px;color:var(--brand);letter-spacing:.02em}.logo small{color:#fff;font-size:17px;margin-left:4px}
#auth h2{margin:18px 0 14px;font-size:18px}#auth .f{display:flex;flex-direction:column;gap:10px}
.btn{background:var(--gold);color:#06150c;font-weight:700;border-radius:12px;padding:12px 16px}
.btn.ghost{background:transparent;color:var(--gold);border:1px solid #25D36699}.btn.red{background:var(--red);color:#fff}
.err{color:#ff6b7a;font-size:13px;min-height:18px}
.link{color:var(--gold);text-decoration:underline;cursor:pointer;font-size:13px}
/* app shell */
#app{height:100%;display:flex}
#rail{width:64px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:10px 0;gap:6px;flex:none}
#rail button{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--mut);position:relative}
#rail button.on{background:var(--panel2);color:var(--gold)}
#rail .sp{flex:1}
.badge{position:absolute;top:2px;right:0;background:var(--green);color:var(--greentxt);border-radius:10px;font-size:11px;font-weight:700;padding:0 6px;min-width:18px;text-align:center}
.livedot{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--red)}
.btn.green{background:var(--green);color:var(--greentxt)}
.vb{font-size:11px;padding:1px 7px;border-radius:9px;border:1px solid var(--green);color:var(--green);margin-left:6px}.vb.no{border-color:var(--mut);color:var(--mut)}
.hint{font-size:12px;color:var(--mut);margin-top:4px}
#side{width:390px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;flex:none;min-width:0}
.sh{display:flex;align-items:center;gap:8px;padding:14px 16px 8px}.sh h1{font-size:22px;flex:1}
.ib{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--txt)}.ib:hover{background:var(--panel2)}
.ib.gb{background:var(--green);color:var(--greentxt)}
.search{padding:4px 16px 8px}.search input{border-radius:22px;padding-left:16px}
.chips{display:flex;gap:8px;padding:0 16px 10px}.chip{padding:5px 14px;border:1px solid var(--line);border-radius:18px;font-size:13px;color:var(--mut)}.chip.on{background:#25D36626;color:var(--green);border-color:var(--green);font-weight:700}
#list{flex:1;overflow:auto}
.row{display:flex;gap:12px;padding:10px 16px;align-items:center;cursor:pointer}.row:hover,.row.on{background:var(--panel2)}
.av{width:48px;height:48px;border-radius:50%;background:linear-gradient(160deg,var(--gold2),#0b6b4d);color:#06150c;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden;position:relative;font-size:18px}
.av img{width:100%;height:100%;object-fit:cover}
.av.sm{width:34px;height:34px;font-size:13px}.av.xl{width:110px;height:110px;font-size:40px}
.av.ring{outline:3px solid var(--gold);outline-offset:2px}.av.seen{outline-color:var(--mut)}
.on-dot{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:var(--green);border:2px solid var(--panel)}
.rm{flex:1;min-width:0}.rt{display:flex;justify-content:space-between;gap:8px}.rt b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rt span{font-size:12px;color:var(--mut);flex:none}
.rb{display:flex;justify-content:space-between;gap:8px;color:var(--mut);font-size:14px}.rb .pv{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unread{background:var(--green);color:var(--greentxt);border-radius:11px;font-size:12px;font-weight:700;padding:0 7px;min-width:20px;text-align:center;flex:none}
.empty{padding:40px 24px;text-align:center;color:var(--mut)}
/* conversation */
#main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--wall);position:relative}
#noconv{margin:auto;text-align:center;color:var(--mut);padding:30px}#noconv .logo{font-size:44px}
#conv{display:flex;flex-direction:column;height:100%}
.ch{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line)}
.ch .back{display:none}.ch .who{flex:1;min-width:0;cursor:pointer}.ch .who b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch .who small{color:var(--mut);font-size:12px}
.ch .who small.typing{color:var(--gold)}
#msgs{flex:1;overflow:auto;padding:14px 8%;display:flex;flex-direction:column;gap:3px;background-image:radial-gradient(var(--pat) 1.5px,transparent 1.5px);background-size:26px 26px}
.day{align-self:center;background:var(--panel);border:1px solid var(--line);color:var(--mut);font-size:12px;padding:3px 12px;border-radius:8px;margin:10px 0}
.m{max-width:min(520px,78%);padding:6px 9px 4px;border-radius:12px;background:var(--in);position:relative;word-wrap:break-word;overflow-wrap:anywhere;box-shadow:0 1px 1px #0004}
.m.me{align-self:flex-end;background:var(--out);color:var(--outtxt);border-bottom-right-radius:3px}.m.o{align-self:flex-start;border-bottom-left-radius:3px}
.m .sn{font-size:12px;font-weight:700;color:var(--gold);margin-bottom:2px}.m.me .sn{color:var(--snme)}
.m .meta{float:right;margin:6px 0 0 10px;font-size:11px;opacity:.7;display:flex;gap:3px;align-items:center;position:relative;top:4px}
.m .tk svg{width:15px;height:15px}.m .tk.read{color:var(--readtick);opacity:1}.m.o .tk{display:none}

.m .del{font-style:italic;opacity:.65}
.m img.mi{max-width:100%;max-height:320px;border-radius:8px;display:block;margin-bottom:4px;cursor:zoom-in}
.m audio,.m video{max-width:100%;display:block;margin-bottom:4px}.m audio{width:240px}
.m .fl{display:flex;gap:8px;align-items:center;padding:8px;background:#0002;border-radius:8px;margin-bottom:4px;color:inherit;text-decoration:none}
.m .rp{border-left:3px solid var(--green);background:#0002;border-radius:6px;padding:4px 8px;margin-bottom:4px;font-size:13px;opacity:.9;cursor:pointer}
.m .act{position:absolute;top:2px;right:4px;opacity:0;font-size:11px;display:flex;gap:2px}.m:hover .act{opacity:1}.m .act button{background:#000a;color:#fff;border-radius:10px;padding:1px 7px}
.m a{color:inherit;text-decoration:underline}
#replybar{display:flex;align-items:center;gap:8px;padding:6px 14px;background:var(--panel);border-top:1px solid var(--line);font-size:13px}#replybar div{flex:1;border-left:3px solid var(--gold);padding-left:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#comp{display:flex;align-items:flex-end;gap:6px;padding:8px 10px;background:var(--panel);border-top:1px solid var(--line)}
#comp textarea{border-radius:22px;resize:none;max-height:120px;min-height:42px;padding:10px 16px;flex:1}
#emoji{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:8px;background:var(--panel);border-top:1px solid var(--line);max-height:170px;overflow:auto}#emoji button{font-size:22px;padding:4px;border-radius:8px}#emoji button:hover{background:var(--panel2)}
.menu{position:absolute;z-index:80;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:190px;box-shadow:0 10px 30px #000a}.menu button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:8px}.menu button:hover{background:var(--panel2)}
.rec{color:var(--red);animation:bl 1s infinite}@keyframes bl{50%{opacity:.3}}
/* panneaux */
.pane{padding:0 16px 16px;overflow:auto;flex:1}.pane h3{font-size:13px;color:var(--gold);margin:16px 0 6px;text-transform:uppercase;letter-spacing:.06em}
.field{margin:10px 0}.field label{font-size:12px;color:var(--mut)}
/* overlays */
.ov{position:fixed;inset:0;background:#000d;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}
.dlg{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;width:100%;max-width:420px;max-height:90vh;overflow:auto}
.dlg h2{margin-bottom:12px;font-size:18px}.dlg .bt{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
#call{position:fixed;inset:0;z-index:60;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
#call video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
#call .lv{position:absolute;right:16px;bottom:100px;width:120px;height:160px;border-radius:12px;border:2px solid var(--gold);z-index:2;object-fit:cover}
#call .info{position:relative;z-index:2;text-align:center;margin-top:auto;margin-bottom:auto;text-shadow:0 2px 8px #000}
#call .ctl{position:absolute;bottom:28px;z-index:3;display:flex;gap:18px}
#call .ctl button{width:60px;height:60px;border-radius:50%;background:#222c;display:flex;align-items:center;justify-content:center}#call .ctl .end{background:var(--red)}#call .ctl .ok{background:#1faa59}
.livechat{position:absolute;left:12px;right:12px;bottom:96px;z-index:3;max-height:34%;overflow:auto;display:flex;flex-direction:column;gap:3px;pointer-events:none}.livechat div{background:#000a;border-radius:10px;padding:3px 10px;font-size:14px;align-self:flex-start;max-width:85%}.livechat b{color:var(--gold)}
.livein{position:absolute;left:12px;right:12px;bottom:28px;z-index:3;display:flex;gap:8px}.livein input{background:#000b;color:#fff;border-color:#25D36699}
.liveTop{position:absolute;top:14px;left:14px;right:14px;z-index:3;display:flex;gap:10px;align-items:center;text-shadow:0 1px 6px #000}.liveTop .tag{background:var(--red);padding:2px 10px;border-radius:6px;font-weight:800;font-size:12px}
#statusview{position:fixed;inset:0;z-index:55;background:#000;display:flex;align-items:center;justify-content:center}
#statusview .st{width:min(420px,100%);height:min(780px,100%);position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;font-size:26px;font-weight:700;color:#14110a;overflow:hidden}
#statusview img{max-width:100%;max-height:100%;object-fit:contain}
#statusview .bars{position:absolute;top:8px;left:8px;right:8px;display:flex;gap:4px}#statusview .bars i{flex:1;height:3px;background:#fff6;border-radius:2px}#statusview .bars i.d{background:#fff}
#statusview .hd{position:absolute;top:20px;left:12px;right:12px;display:flex;gap:8px;align-items:center;color:#fff;text-shadow:0 1px 4px #000;font-size:14px;font-weight:600}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--gold);color:#14110a;padding:9px 18px;border-radius:20px;font-weight:600;z-index:90}
#bnav{display:none}
@media(max-width:820px){
  #rail{display:none}#side{width:100%;border:0}
  #bnav{display:flex;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}#bnav button{flex:1;padding:10px 0 6px;display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--mut);position:relative}#bnav button.on{color:var(--gold)}
  #app{flex-direction:column}#shell{flex:1;display:flex;min-height:0}
  #main{position:fixed;inset:0;z-index:20;transform:translateX(100%);transition:transform .2s}#main.show{transform:none}
  .ch .back{display:flex}#msgs{padding:10px 10px}
}
@media(min-width:821px){#shell{display:flex;flex:1;min-width:0}#app{flex-direction:row}}

/* ===== Kibaro v1.3 : feuille « + », pages, fiche contact, paramètres ===== */
.sheetbg{position:fixed;inset:0;z-index:84;background:#0006}
.sheet{position:fixed;z-index:85;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 40px #000a}
.sheet .grab{display:none;width:42px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}
.sg{display:grid;gap:14px 6px}.si{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;color:var(--txt);text-align:center;padding:4px;line-height:1.2}
.si span{width:56px;height:56px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.si svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:821px){.sheet{left:calc(390px + 76px);bottom:76px;border-radius:18px;padding:22px 18px;width:min(540px,60vw)}.sg{grid-template-columns:repeat(5,1fr)}}
@media(max-width:820px){.sheet{left:0;right:0;bottom:0;border-radius:22px 22px 0 0;padding:14px 12px 28px}.sheet .grab{display:block}.sg{grid-template-columns:repeat(4,1fr)}.si{font-size:12px}}
.rich{display:flex;flex-direction:column;gap:6px;min-width:220px;max-width:300px;margin-bottom:4px}.rich small{opacity:.75}
.po{position:relative;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;padding:9px 10px;border-radius:10px;background:#00000026;overflow:hidden;color:inherit;border:1px solid #ffffff22}.po .pob{position:absolute;left:0;top:0;bottom:0;background:#25D36655;z-index:0}.po .pot,.po i{position:relative;z-index:1}.po.on{border-color:var(--green)}.po i{font-style:normal;opacity:.8}
.rsvp{display:flex;gap:6px;flex-wrap:wrap}.rsvp button{padding:7px 10px;border-radius:10px;background:#00000026;border:1px solid #ffffff22;color:inherit;font-size:13px}.rsvp button.on{border-color:var(--green);background:#25D36633}
.pg{position:fixed;inset:0;z-index:60;background:#000b;display:flex;align-items:center;justify-content:center;padding:16px}
.pgbox{width:min(560px,100%);height:min(720px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.pgbox.wide{width:min(980px,100%)}
.pgh{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);flex:none}.pgh h2{font-size:19px;margin:0}.pgh [data-pgback]{display:none}
.pgb{flex:1;min-height:0;display:flex}.pgm{flex:1;min-width:0;overflow:auto;padding-bottom:20px}
.pgs{width:300px;flex:none;border-right:1px solid var(--line);overflow:auto;padding:8px;background:var(--panel2)}
.pgt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border-radius:10px;color:var(--txt)}.pgt:hover,.pgt.on{background:var(--panel)}.pgt .lrt small{display:block;font-size:12px;color:var(--mut);font-weight:400}
.pgp{display:flex;align-items:center;gap:12px;padding:12px;margin-bottom:6px;border-radius:12px;cursor:pointer}.pgp:hover{background:var(--panel)}.pgsep{height:1px;background:var(--line);margin:8px 6px}
.lri{width:24px;height:24px;flex:none;color:var(--mut);display:flex}.lri svg,.pgt .lri svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lg{background:var(--panel2);border:1px solid var(--line);border-radius:14px;margin:10px 14px;overflow:hidden}.lg .lr+.lr{border-top:1px solid var(--line)}
.lr{display:flex;align-items:center;gap:12px;padding:12px 14px;color:var(--txt)}.lr.act{cursor:pointer}.lr.act:hover{background:var(--panel)}.lr.sw{cursor:pointer}.lr.sw input,.lr input[type=radio]{width:auto}
.pgm>.lr{border-bottom:1px solid var(--line)}.lrt{flex:1;min-width:0}.lrt b{display:block;font-weight:600}.lrt small{display:block;color:var(--mut);font-size:13px;font-weight:400;margin-top:2px}
.pgm h3{font-size:13px;color:var(--mut);margin:16px 16px 6px;text-transform:none;letter-spacing:0}
.sl{background:var(--panel);color:var(--txt);border:1px solid var(--line);border-radius:10px;padding:8px;max-width:48%}
.ctop{text-align:center;padding:22px 16px 8px}.ctop .av{margin:0 auto 10px}.ctop h2{margin:6px 0 2px}
.acts{display:flex;gap:10px;padding:10px 14px}.acts button{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--green);font-size:14px}.acts button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.acts button span{color:var(--txt)}
.acts.big button{border-radius:50px;flex-direction:column;border:0;background:transparent}.acts.big button svg{width:48px;height:48px;padding:12px;border-radius:50%;background:var(--panel2);border:1px solid var(--line)}
.cb{width:40px;height:40px;border-radius:50%;background:var(--panel);color:var(--green);display:flex;align-items:center;justify-content:center}.cb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.mg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:0 14px}.mg img,.mg video{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer}
.ncard{margin:14px;padding:16px;text-align:center;background:var(--panel2);border:1px solid var(--green);border-radius:14px}.nbig{font-size:26px;font-weight:800;color:var(--green);letter-spacing:.03em}
.wallb{width:46px;height:46px;border-radius:12px;border:2px solid var(--line)}.wallb.on{border-color:var(--green);outline:2px solid var(--green)}
html.hc{--mut:#d8d8d8;--line:#707070}html.hc[data-theme=light]{--mut:#33301f;--line:#8a8468}
html.rm *{animation:none!important;transition:none!important}
html[data-fs=sm] .m{font-size:13px}html[data-fs=lg] .m{font-size:17px}
@media(max-width:820px){
  .pg{padding:0;background:var(--bg)}.pgbox,.pgbox.wide{width:100%;height:100%;border-radius:0;border:0}.pgh [data-pgback]{display:flex}.pgh .pgdone{display:none}
  .pgb.sb{position:relative}.pgs{width:100%;border:0;background:transparent}.pgb.sb .pgm{display:none}.pgbox.inmain .pgs{display:none}.pgbox.inmain .pgb.sb .pgm{display:block}
  .acts{padding:8px 10px}
}
.sh h1 .wlogo{display:block;height:44px;width:auto;max-width:100%}
.biglogo{display:block;margin:0 auto;width:min(300px,80%);height:auto}#noconv .biglogo{width:min(380px,80%)}

/* Kibaro v1.4 — écrans de connexion / inscription / téléphone */
#auth .card section{display:block}#auth .card section.hidden{display:none}
#auth .asub{color:var(--mut);margin:6px 0 14px;line-height:1.45}#auth .asub.small{font-size:13px}
#auth .alt{text-align:center;margin:12px 0 0;color:var(--mut);font-size:14px}
#auth .pw{position:relative}#auth .pw input{width:100%;padding-right:46px}#auth .eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--mut);font-size:18px;padding:8px;cursor:pointer}
#auth .terms{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mut);line-height:1.4}#auth .terms input{width:auto;margin-top:3px}#auth .terms a{color:var(--green)}
#auth .ok{color:var(--green);font-size:14px;min-height:0}#auth .ok:empty{display:none}
#auth .back{background:none;border:0;color:var(--txt);font-size:34px;line-height:1;padding:0 8px 6px 0;cursor:pointer}
#auth select{width:100%;background:var(--panel2);color:var(--txt);border:1px solid var(--line);border-radius:12px;padding:13px 10px;font-size:16px}
#auth .btn:disabled{opacity:.45;cursor:not-allowed}
#auth .sbx{background:rgba(37,211,102,.08);border:1px dashed var(--green);border-radius:12px;padding:12px 14px;margin:0 0 16px}#auth .sbx small{letter-spacing:.14em;color:var(--green);font-weight:700}#auth .sbx b{display:block;font-size:30px;letter-spacing:.18em;margin-top:4px}
#auth .cbs{display:flex;gap:8px;justify-content:space-between;margin:6px 0 10px}#auth .cb{width:100%;min-width:0;height:54px;text-align:center;font-size:24px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);color:var(--txt)}#auth .cb:focus{border-color:var(--green);outline:0}
.liveTop .lvq{background:#e5334b;color:#fff;border:0;border-radius:18px;padding:8px 14px;font-weight:700;margin-left:8px;cursor:pointer}
#main{background:var(--wall,#0a0a0a)}@media(max-width:820px){#main{background:var(--bg)}}

/* Kibaro v1.5 — Live : réactions et commentaires qui défilent */
.livechat{overflow:hidden;justify-content:flex-end;-webkit-mask-image:linear-gradient(transparent,#000 35%);mask-image:linear-gradient(transparent,#000 35%);max-height:38%}
.livechat div{animation:lvin .28s ease-out}@keyframes lvin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.lvr{position:absolute;right:12px;bottom:150px;z-index:4;display:flex;flex-direction:column;gap:8px}.lvr button{width:44px;height:44px;border-radius:50%;border:0;background:#0009;font-size:22px;cursor:pointer;backdrop-filter:blur(4px)}.lvr button:active{transform:scale(1.25)}
.lvfloat{position:absolute;right:0;bottom:150px;width:120px;height:55%;z-index:4;pointer-events:none;overflow:visible}
.lvf{position:absolute;bottom:0;animation:lvfly 2.6s ease-out forwards;will-change:transform,opacity}@keyframes lvfly{0%{opacity:0;transform:translate(0,0) scale(.6)}12%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-260px) scale(1.15)}}
#lvl{font-weight:700}

/* ===== v1.6 Live façon Reels/Instagram ===== */
#call.livev .lvshade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(#0008,transparent 22%,transparent 50%,#000c 100%)}
#call.livev .liveTop{top:calc(12px + env(safe-area-inset-top))}
#call.livev #lvn{background:#0007;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}
#call.livev .lvr{right:10px;bottom:calc(86px + env(safe-area-inset-bottom));align-items:center;gap:14px}
#call.livev .lvr .lvb{width:auto;height:auto;background:none;border-radius:0;backdrop-filter:none;display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff;padding:0;text-shadow:0 1px 4px #000}
#call.livev .lvb svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #0009)}
#call.livev .lvheart svg{fill:#ff3b5c;stroke:#ff3b5c}
#call.livev .lvb small{font-size:12px;font-weight:600}
#call.livev .lvb:active{transform:scale(1.2)}
#call.livev .lvmore{display:none;flex-direction:column;gap:8px;background:#000a;border-radius:24px;padding:8px 4px}
#call.livev .lvmore.on{display:flex}
#call.livev .lvmore button{width:40px;height:40px;font-size:22px;background:none}
#call.livev .lvfloat{right:56px;bottom:calc(120px + env(safe-area-inset-bottom))}
#call.livev .lvbot{position:absolute;left:0;right:70px;bottom:0;z-index:3;padding:0 12px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;text-align:left}
#call.livev .lvhost{display:flex;align-items:center;gap:8px;font-size:15px}
#call.livev .lvhost .av{width:36px;height:36px;font-size:14px}
#call.livev .lvfollow{background:none;color:#fff;border:1.5px solid #fff;border-radius:8px;padding:3px 12px;font-weight:700;font-size:13px;cursor:pointer}
#call.livev .lvfollow.on{opacity:.75}
#call.livev .lvcap{font-size:14px;text-shadow:0 1px 4px #000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#call.livev .livechat{position:static;max-height:30vh;left:auto;right:auto;margin-top:2px}
#call.livev .livechat div{background:none;padding:2px 0;display:flex;gap:8px;align-items:center;max-width:100%;text-shadow:0 1px 4px #000;font-size:14px}
#call.livev .livechat b{color:#fff;opacity:.85;margin-right:4px}
#call.livev .livechat i{opacity:.8}
#call.livev .lva{width:26px;height:26px;border-radius:50%;background:var(--gold,#25D366);color:#000;font-weight:800;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:none}
#call.livev .livein{position:static}
#call.livev .livein input{border-radius:22px;background:#0008;border:1px solid #fff6;color:#fff;padding:11px 16px}
#call.livev .livein input::placeholder{color:#fffb}

/* ===== v1.6 Paramètres PC façon WhatsApp Desktop (≥821px uniquement) ===== */
@media(min-width:821px){
.pgbox.wide.wa{width:min(1040px,96vw);height:min(760px,94vh);border-radius:14px}
.pgbox.wa .pgh{border-bottom:0;padding:14px 20px 6px}.pgbox.wa .pgh h2{font-size:22px;font-weight:700}
.pgbox.wa .pgs{width:340px;padding:6px 10px 12px;background:var(--panel);border-right:1px solid var(--line)}
.pgsearch{display:flex;align-items:center;gap:8px;background:var(--panel2);border-radius:10px;padding:0 12px;margin:2px 0 10px;border-bottom:2px solid transparent}.pgsearch:focus-within{border-bottom-color:var(--green)}
.pgsearch span{width:18px;height:18px;color:var(--mut);display:flex}.pgsearch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.pgsearch input{border:0;background:none;padding:9px 0;color:var(--txt);width:100%;outline:none}
.pgbox.wa .pgp{padding:10px 8px;border-bottom:1px solid var(--line);border-radius:10px;margin-bottom:8px}.pgbox.wa .pgp .av{width:58px;height:58px}.pgbox.wa .pgp .lrt b{font-size:17px}.pgbox.wa .pgp.on{background:var(--panel2)}
.pgbox.wa .pgt{padding:12px 12px;border-radius:10px;font-size:15px}.pgbox.wa .pgt.on{background:var(--panel2)}
.pgbox.wa .pgt .lri{width:22px;height:22px;color:var(--mut)}.pgbox.wa .pgt .lri svg{width:22px;height:22px}
.pgbox.wa .pgm{background:var(--bg);padding:18px 26px 26px}
.wprof{max-width:520px;margin:0 auto}.wph{font-size:20px;margin:6px 0 18px;color:var(--txt)}
.wpav{width:200px;height:200px;margin:0 auto;cursor:pointer}.wpav .av{width:200px;height:200px;font-size:72px}
.wpph{display:block;margin:12px auto 22px;font-size:15px;color:var(--green);background:none;border:0;cursor:pointer}
.wpb{padding:12px 0;border-bottom:1px solid var(--line)}.wpb small{display:block;color:var(--mut);font-size:13px;margin-bottom:4px}
.wpr{display:flex;align-items:center;gap:8px;font-size:16px}.wpr input{border:0;background:none;padding:6px 0;font-size:16px;color:var(--txt);flex:1;outline:none;border-bottom:2px solid transparent;border-radius:0}.wpr input:focus{border-bottom-color:var(--green)}
.wpe{width:30px;height:30px;color:var(--mut);cursor:pointer}.wpn{height:20px;text-align:center;color:var(--green);font-size:13px;margin-top:10px}
}
/* v1.6 rail PC : boutons supplémentaires (cachés sur mobile) */
@media(max-width:820px){#rail .rx{display:none}}
@media(min-width:821px){#rail .rx{display:flex}}

/* ===== v1.7 mobile : sélection, appels, vocaux, réponse ===== */
#conv{position:relative}
@media(hover:none){.m .act{display:none!important}#msgs .m{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}
#msgs .m.sel{outline:2px solid #25D366aa;filter:brightness(1.3)}
#selbar{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;gap:2px;padding:0 8px;background:var(--panel);border-bottom:1px solid var(--line);min-height:56px}
#selbar .ib{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--txt)}#selbar .ib svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#selbar .ib.on svg{fill:#25D366;stroke:#25D366}
#selbar .selc{font-size:20px;margin-left:6px}
#replybar{align-items:stretch}#replybar .rpq{flex:1;min-width:0;border-left:4px solid var(--green,#25D366);border-radius:6px;background:var(--panel2);padding:6px 10px;display:flex;flex-direction:column;gap:1px}#replybar .rpq b{color:var(--green,#25D366);font-size:13px}#replybar .rpq span{color:var(--mut);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.delopts{display:flex;flex-direction:column;gap:8px;margin-top:8px}.delopts .btn{width:100%}
.fwl{max-height:46vh;overflow:auto;margin:6px 0}.fwl .lr{padding:8px 4px;gap:10px}
.m.callm{display:flex;align-items:center;gap:12px;padding:10px 14px 18px 10px;min-width:250px;cursor:pointer;position:relative}
.callm .cmi{position:relative;width:46px;height:46px;border-radius:50%;background:#ffffff1f;display:flex;align-items:center;justify-content:center;flex:none}
.callm .cmic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.callm .cma{position:absolute;right:-3px;bottom:-1px;width:16px;height:16px;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;background:var(--bg);border-radius:50%;padding:1px}
.callm .cmi.miss .cmic{color:#ff5a6a}.callm .cmi.miss .cma{stroke:#ff5a6a}.callm .cmi.out .cma,.callm .cmi.in .cma{stroke:#25D366}
.callm .cmt{display:flex;flex-direction:column;min-width:0}.callm .cmt b{font-size:16px}.callm .cmt small{opacity:.75;font-size:14px}
.callm .meta{position:absolute;right:10px;bottom:4px}
.vn{display:flex;align-items:center;gap:10px;min-width:230px;padding:2px 0 14px}
.vnp{width:42px;height:42px;border-radius:50%;background:#ffffff26;color:inherit;display:flex;align-items:center;justify-content:center;flex:none;border:0;cursor:pointer}.vnp svg{width:20px;height:20px}
.vnw{flex:1;min-width:0;cursor:pointer;padding:8px 0}.vnb{display:flex;align-items:center;gap:2px;height:30px}.vnb i{flex:1;min-width:2px;border-radius:2px;background:currentColor;opacity:.4}.vnb i.on{opacity:1;background:#25D366}
.vnt{font-size:12px;opacity:.8;position:absolute;left:62px;bottom:4px}
.m{position:relative}
.callm .cmt{padding-right:44px}.m.callm{min-width:270px}
