/* WattLink 0.1 — le style (repris de la maquette validée le 13/10/2026). Thèmes : Lumière (blanc pur), Éclair (noir brillant), Acier (Pro). */
.th-eclair{--fond:#000;--fond2:#0a0b0e;--surface:#14161c;--surface2:#1b1e26;--ligne:#262a33;--encre:#f3f5f9;--doux:#8f99a8;--bleu:#2f7bff;--bleu-txt:#7fb0ff;--jaune:#e8ff1a;--sur-jaune:#000;--bulle-moi:linear-gradient(135deg,#1f6bff,#0a3fd1);--bulle-moi-txt:#fff;--bulle-lui:#1a1d24;--bulle-lui-txt:#eef1f6;--barre:rgba(12,14,19,.94);--titre:linear-gradient(90deg,#fff 0%,#a9c6ff 100%);--danger:#ff5a5f;--ok:#3ccf83;color-scheme:dark}
.th-lumiere{--fond:#ffffff;--fond2:#ffffff;--surface:#ffffff;--surface2:#f4f6fa;--ligne:#e9edf3;--encre:#0b0d12;--doux:#5d6675;--bleu:#1f6bff;--bleu-txt:#0a3fd1;--jaune:#e8ff1a;--sur-jaune:#0b0d12;--bulle-moi:linear-gradient(135deg,#1f6bff,#0a3fd1);--bulle-moi-txt:#fff;--bulle-lui:#f1f3f7;--bulle-lui-txt:#0b0d12;--barre:rgba(255,255,255,.97);--titre:linear-gradient(90deg,#0b0d12 0%,#0b0d12 100%);--danger:#d62f35;--ok:#0f8a4b;color-scheme:light}
.th-acier{--fond:#dfe4ea;--fond2:#e9edf2;--surface:#ffffff;--surface2:#f2f4f7;--ligne:#c9d0da;--encre:#0b0d12;--doux:#4f5867;--bleu:#1f6bff;--bleu-txt:#0a3fd1;--jaune:#e8ff1a;--sur-jaune:#0b0d12;--bulle-moi:linear-gradient(135deg,#0b0d12,#2d323c);--bulle-moi-txt:#fff;--bulle-lui:#ffffff;--bulle-lui-txt:#0b0d12;--barre:#0b0d12;--titre:linear-gradient(90deg,#0b0d12,#3a404c);--danger:#d62f35;--ok:#0f8a4b;color-scheme:light}
.th-sable{--fond:#f6f1e7;--fond2:#f6f1e7;--surface:#fffaf0;--surface2:#ece3d0;--ligne:#ddd1b8;--encre:#2a2116;--doux:#6b5d48;--bleu:#b7791f;--bleu-txt:#8a5a12;--jaune:#e8ff1a;--sur-jaune:#2a2116;--bulle-moi:linear-gradient(135deg,#b7791f,#8a5a12);--bulle-moi-txt:#fff;--bulle-lui:#fffaf0;--bulle-lui-txt:#2a2116;--barre:rgba(246,241,231,.97);--titre:linear-gradient(90deg,#2a2116,#6b5d48);--danger:#c0392b;--ok:#2f7d32;color-scheme:light}
.th-nuit{--fond:#06112a;--fond2:#081633;--surface:#0d1b3a;--surface2:#13213f;--ligne:#1f2f52;--encre:#e8eefc;--doux:#93a3c4;--bleu:#4d8bff;--bleu-txt:#9cbcff;--jaune:#e8ff1a;--sur-jaune:#000;--bulle-moi:linear-gradient(135deg,#2f6bff,#1a46c9);--bulle-moi-txt:#fff;--bulle-lui:#13213f;--bulle-lui-txt:#e8eefc;--barre:rgba(6,17,42,.95);--titre:linear-gradient(90deg,#fff,#9cbcff);--danger:#ff6b73;--ok:#3ccf83;color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none;position:fixed;inset:0;width:100%}
#app,.cadre,.colonne{max-width:100vw;overflow-x:hidden}
.zone,.pe-corps{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* barres de défilement : aucune, sur aucun appareil (demande de Jonathan, 13/10/2026) — on défile au doigt, à la molette ou au pavé */
*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}
body{background:var(--fond);color:var(--encre);font:15px/1.45 Manrope,system-ui,-apple-system,sans-serif;transition:background .5s,color .5s;overscroll-behavior:none}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--bleu);outline-offset:2px}
#app{height:100%}
.chargement{height:100%;display:grid;place-items:center}
.chargement img{animation:pouls 1.4s ease-in-out infinite}
@keyframes pouls{50%{transform:scale(1.06);filter:drop-shadow(0 0 18px rgba(31,107,255,.5))}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* mise en page : une colonne sur téléphone, deux sur ordinateur */
.cadre{height:100%;display:grid;grid-template-columns:minmax(0,1fr)}
.colonne{height:100%;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--fond);padding-top:env(safe-area-inset-top,0px)}
.vide-droite{display:none}
@media (min-width:900px){
  .cadre{grid-template-columns:400px minmax(0,1fr)}
  .colonne.gauche{border-right:1px solid var(--ligne)}
  .vide-droite{display:grid;place-items:center;color:var(--doux);text-align:center;padding:30px;background:var(--fond2);height:100%;min-height:0}
  .vide-droite img{width:120px;opacity:.9}
  .mobile-seul{display:none!important}
}
@media (max-width:899px){ .cadre.dans-conv .gauche{display:none} .cadre:not(.dans-conv) .droite{display:none} }

.zone{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative}
.entete{padding:10px 16px 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.marque{display:flex;align-items:center;gap:9px;position:relative}
.marque img{width:36px;height:36px;border-radius:10px;box-shadow:0 4px 12px rgba(31,107,255,.35)}
.titre-app{font:800 26px Sora,sans-serif;letter-spacing:-.02em}
.titre-app .watt{color:var(--encre)}
.titre-app .link{background:linear-gradient(90deg,#1f6bff,#4d9dff);-webkit-background-clip:text;background-clip:text;color:transparent}
.marque .nom{position:relative;display:inline-block}
.marque .nom::before{content:"";position:absolute;z-index:0;left:52%;top:50%;width:58px;height:70px;transform:translate(-50%,-50%) rotate(10deg);background:#e8ff1a;clip-path:polygon(55% 0,8% 58%,44% 58%,34% 100%,92% 38%,56% 38%);opacity:.8}
.marque .titre-app{position:relative;z-index:1;filter:drop-shadow(0 0 1px var(--fond)) drop-shadow(0 1px 0 var(--fond))}
.titre-ecran{font:800 24px Sora,sans-serif;letter-spacing:-.01em;margin:0}
.icos{display:flex;gap:8px}
.ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--ligne);color:var(--encre);cursor:pointer;font-size:16px;flex:none}
.ico:hover{border-color:var(--bleu)}
.recherche{margin:0 16px 10px;display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--ligne);border-radius:14px;padding:0 12px}
.recherche input{flex:1;border:0;background:transparent;color:var(--encre);font:14.5px Manrope,system-ui,-apple-system,sans-serif;padding:10px 0;outline:none;min-width:0}
.puces{display:flex;gap:6px;padding:0 16px 10px;overflow-x:auto;scrollbar-width:none}
.puces button{flex:none;padding:6px 12px;border-radius:999px;font:700 12.5px Manrope,system-ui,-apple-system,sans-serif;border:1px solid var(--ligne);background:var(--surface2);color:var(--encre);cursor:pointer}
.puces button.on{background:#0b0d12;color:var(--jaune);border-color:#0b0d12}
.th-eclair .puces button.on{background:var(--jaune);color:#000;border-color:var(--jaune)}
.conv{display:flex;gap:12px;align-items:center;padding:9px 16px;cursor:pointer;border:0;background:transparent;width:100%;text-align:left}
.conv:hover,.conv.on{background:var(--surface2)}
.av{width:50px;height:50px;border-radius:50%;flex:none;display:grid;place-items:center;font:700 17px Sora,system-ui,-apple-system,sans-serif;color:#fff;position:relative;background:linear-gradient(135deg,#1f6bff,#0a2a8f);overflow:visible}
.av img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.av.p{width:40px;height:40px;font-size:15px}
.av.g{background:linear-gradient(135deg,#8b95a5,#4b5361)}
.av.n{background:linear-gradient(135deg,#e8ff1a,#a7c200);color:#0b0d12}
.av .point{position:absolute;right:0;bottom:0;width:13px;height:13px;border-radius:50%;background:#2ecc71;border:2px solid var(--fond)}
.c-t{flex:1;min-width:0}
.c-n{display:flex;justify-content:space-between;gap:6px;font-weight:800;font-size:15px}
.c-n span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c-n em{font-style:normal;font-weight:600;font-size:11.5px;color:var(--doux);flex:none}
.c-n em.non-lu{color:var(--bleu-txt)}
.c-m{display:flex;justify-content:space-between;gap:6px;font-size:13.5px;color:var(--doux)}
.c-m span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badge{min-width:20px;height:20px;border-radius:10px;font:800 11px Manrope,system-ui,-apple-system,sans-serif;display:inline-grid;place-items:center;padding:0 6px;background:var(--bleu);color:#fff;flex:none}
.th-eclair .badge{background:var(--jaune);color:#000}
.section-lib{padding:12px 16px 6px;font:800 11px Manrope,system-ui,-apple-system,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--doux)}
.fab{position:absolute;right:16px;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:18px;border:0;background:var(--bleu);color:#fff;font-size:26px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:5}
.th-eclair .fab{background:var(--jaune);color:#000}
.onglets{flex:none;display:flex;justify-content:space-around;padding:8px 6px calc(10px + env(safe-area-inset-bottom,0px));background:var(--barre);border-top:1px solid var(--ligne);backdrop-filter:blur(10px)}
.onglets button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:var(--doux);font:700 11px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer;padding:2px 10px;position:relative}
.onglets .pic{width:28px;height:28px;object-fit:contain;filter:grayscale(1);opacity:.55}
.onglets button.on{color:var(--bleu-txt)}
.th-eclair .onglets button.on{color:var(--jaune)}
.th-acier .onglets button{color:#c9d0da}.th-acier .onglets button.on{color:var(--jaune)}
.onglets button.on .pic{filter:none;opacity:1}
.onglets .badge{position:absolute;top:-3px;right:4px}
.vide{padding:40px 24px;text-align:center;color:var(--doux)}

/* conversation */
.tete-conv{flex:none;display:flex;align-items:center;gap:10px;padding:8px 12px 10px;border-bottom:1px solid var(--ligne);background:var(--barre)}
.tete-conv .qui{flex:1;min-width:0;cursor:pointer;border:0;background:transparent;text-align:left;padding:0}
.tete-conv b{display:block;font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tete-conv small{color:var(--doux);font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tete-conv small.ecrit{color:var(--bleu-txt);font-weight:700}
.retour{border:0;background:transparent;color:var(--bleu-txt);font-size:26px;cursor:pointer;padding:0 4px;line-height:1}
.epingle-barre{flex:none;padding:7px 14px;font-size:13px;background:var(--surface2);border-bottom:1px solid var(--ligne);display:flex;gap:8px;cursor:pointer}
.epingle-barre span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fil{padding:12px 12px 8px;display:flex;flex-direction:column;gap:5px}
.jour{align-self:center;font:700 11.5px Manrope,system-ui,-apple-system,sans-serif;color:var(--doux);background:var(--surface2);padding:3px 11px;border-radius:999px;margin:8px 0 4px}
.systeme{align-self:center;font-size:12.5px;color:var(--doux);background:var(--surface2);padding:4px 12px;border-radius:10px;text-align:center;max-width:85%}
.b{max-width:min(78%,560px);padding:7px 11px 5px;border-radius:18px;position:relative;font-size:14.5px;user-select:text;overflow-wrap:break-word;word-break:break-word}
.b.moi{align-self:flex-end;background:var(--bulle-moi);color:var(--bulle-moi-txt);border-bottom-right-radius:6px}
.b.lui{align-self:flex-start;background:var(--bulle-lui);color:var(--bulle-lui-txt);border-bottom-left-radius:6px}
.b.attente{opacity:.65}
.b.nu{background:transparent!important;padding:0}
.b .h{display:block;text-align:right;font-size:10.5px;opacity:.72;margin-top:2px;white-space:nowrap}
.b .auteur{display:block;font:800 12px Manrope,system-ui,-apple-system,sans-serif;color:var(--bleu-txt);margin-bottom:1px}
.b .cite{display:block;border-left:3px solid var(--jaune);padding:3px 8px;margin-bottom:5px;border-radius:6px;background:rgba(127,127,127,.16);font-size:12.5px;cursor:pointer}
.b .supprime{font-style:italic;opacity:.75}
.b .texte{white-space:pre-wrap}
.b a{color:inherit}
.reacs{display:flex;gap:3px;flex-wrap:wrap;margin:-4px 6px 4px;align-self:flex-end}
.reacs.lui{align-self:flex-start}
.reacs button{border:1px solid var(--ligne);background:var(--surface);border-radius:999px;font-size:12.5px;padding:1px 7px;cursor:pointer;color:var(--encre)}
.reacs button.mien{border-color:var(--bleu)}
.b .img-msg{max-width:260px;max-height:320px;border-radius:12px;display:block;cursor:zoom-in}
.b .emo-img{width:84px;height:84px;display:block}
.b .stk-img{width:150px;height:150px;object-fit:contain;display:block}
.vocal{display:flex;align-items:center;gap:8px;min-width:210px}
.vocal .lire{width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.22);color:inherit;cursor:pointer;flex:none}
.b.lui .vocal .lire{background:var(--bleu);color:#fff}
.vocal .barre-son{flex:1;height:4px;border-radius:2px;background:rgba(127,127,127,.35);position:relative;cursor:pointer}
.vocal .barre-son i{position:absolute;left:0;top:0;bottom:0;background:currentColor;border-radius:2px}
.vit{font:800 10.5px Manrope,system-ui,-apple-system,sans-serif;border:1px solid currentColor;border-radius:999px;padding:0 6px;background:transparent;color:inherit;cursor:pointer}
.fichier{display:flex;gap:10px;align-items:center;text-decoration:none;min-width:200px}
.fichier .pic{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:rgba(127,127,127,.2);font-size:18px}
.sondage{min-width:230px}
.sondage .opt{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:5px 0;padding:7px 9px;border-radius:9px;background:rgba(127,127,127,.15);position:relative;overflow:hidden;cursor:pointer;border:0;width:100%;text-align:left;color:inherit}
.sondage .opt i{position:absolute;inset:0 auto 0 0;background:rgba(232,255,26,.38)}
.sondage .opt span{position:relative}
.lu{font-size:11px}
.saisie{flex:none;display:flex;align-items:flex-end;gap:6px;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));background:var(--barre);border-top:1px solid var(--ligne)}
.saisie .champ{flex:1;display:flex;align-items:flex-end;gap:4px;background:var(--surface2);border:1px solid var(--ligne);border-radius:22px;padding:5px 8px;min-width:0}
.saisie textarea{flex:1;border:0;background:transparent;color:var(--encre);font:15px Manrope,system-ui,-apple-system,sans-serif;outline:none;min-width:0;resize:none;max-height:140px;padding:6px 2px;line-height:1.35}
.saisie .mini{border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--doux);padding:4px 3px;line-height:1}
.envoyer{width:46px;height:46px;border-radius:50%;border:0;background:var(--bleu);color:#fff;font-size:19px;cursor:pointer;flex:none;touch-action:none}
.th-eclair .envoyer{background:var(--jaune);color:#000}
.envoyer.enregistre{background:var(--danger);color:#fff;animation:pouls 1s infinite}
.reponse-en-cours{flex:none;display:flex;justify-content:space-between;gap:8px;padding:6px 14px;background:var(--surface2);border-top:1px solid var(--ligne);font-size:13px}
.reponse-en-cours b{color:var(--bleu-txt)}
.reponse-en-cours button{border:0;background:transparent;cursor:pointer;font-size:16px}

/* feuilles, menus, notifications */
.voile{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40}
.feuille{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:640px;background:var(--surface);border-top:1px solid var(--ligne);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.35);z-index:41;padding:10px 14px calc(18px + env(safe-area-inset-bottom,0px));max-height:78%;overflow-y:auto}
.feuille .poignee{width:40px;height:5px;border-radius:3px;background:var(--ligne);margin:0 auto 10px}
.feuille h3{font:800 16px Sora,system-ui,-apple-system,sans-serif;margin:0 0 8px}
.liste-act{display:flex;flex-direction:column}
.liste-act button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--encre);font:600 14.5px Manrope,system-ui,-apple-system,sans-serif;padding:11px 4px;border-bottom:1px solid var(--ligne);cursor:pointer;text-align:left;width:100%}
.liste-act button small{display:block;color:var(--doux);font-weight:500;font-size:12px}
.liste-act button.danger{color:var(--danger)}
.liste-act .pic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface2);font-size:17px;flex:none}
.reac-rapides{display:flex;justify-content:space-around;padding:2px 0 10px;border-bottom:1px solid var(--ligne);margin-bottom:4px}
.reac-rapides button{border:0;background:transparent;font-size:28px;cursor:pointer;border-radius:50%;width:46px;height:46px}
.reac-rapides button:hover{background:var(--surface2)}
.reac-rapides .watt{background:var(--jaune);color:#000;font-size:22px}
.cats{display:flex;gap:4px;overflow-x:auto;margin-bottom:8px;scrollbar-width:none}
.cats button{flex:none;border:1px solid var(--ligne);background:var(--surface2);border-radius:10px;padding:4px 8px;font-size:17px;cursor:pointer;min-width:40px}
.cats button img{width:22px;height:22px;vertical-align:-5px}
.cats button.on{border-color:var(--bleu);box-shadow:0 0 0 1px var(--bleu)}
.grille-emo{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:2px;text-align:center}
.grille-emo button{border:0;background:transparent;font-size:26px;cursor:pointer;border-radius:8px;padding:4px;line-height:1}
.grille-emo button:hover{background:var(--surface2)}
.grille-emo img{width:36px;height:36px;display:block;margin:auto}
.grille-stk{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}
.grille-stk button{border:0;background:transparent;cursor:pointer;border-radius:12px;padding:4px;aspect-ratio:1}
.grille-stk button:hover{background:var(--surface2)}
.grille-stk img{width:100%;height:100%;object-fit:contain}
.pro{display:inline-block;font:800 9.5px Manrope,system-ui,-apple-system,sans-serif;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:var(--jaune);color:#0b0d12;vertical-align:2px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(100px + env(safe-area-inset-bottom,0px));z-index:60;width:min(440px,calc(100% - 24px));display:flex;justify-content:space-between;align-items:center;gap:10px;background:#0b0d12;color:#fff;border-radius:14px;padding:11px 14px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);overflow:hidden}
.toast button{border:0;background:var(--jaune);color:#000;font:800 13px Manrope,system-ui,-apple-system,sans-serif;border-radius:8px;padding:7px 11px;cursor:pointer;flex:none}
.toast .temps{position:absolute;left:0;bottom:0;height:3px;background:var(--jaune);transition:width .1s linear}
.carte{margin:0 16px 10px;padding:13px 15px;border-radius:16px;background:var(--surface);border:1px solid var(--ligne)}
.th-lumiere .carte{background:var(--surface2)}
.carte h4{margin:0 0 4px;font:800 14.5px Sora,system-ui,-apple-system,sans-serif}
.carte p{margin:0;color:var(--doux);font-size:13.5px}
.reglage{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--ligne);width:100%;border-left:0;border-right:0;border-top:0;background:transparent;text-align:left;cursor:pointer}
.reglage span small{display:block;color:var(--doux);font-size:12.5px}
.inter{width:46px;height:28px;border-radius:14px;background:var(--ligne);position:relative;flex:none;border:0;cursor:pointer}
.inter::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.inter.on{background:var(--bleu)}
.inter.on::after{left:21px}
.champ{display:block;width:100%;margin:6px 0 12px;padding:12px 14px;border-radius:14px;border:1px solid var(--ligne);background:var(--surface2);color:var(--encre);font:15px Manrope,system-ui,-apple-system,sans-serif}
label.lib,span.lib{display:block;font:800 11.5px Manrope,system-ui,-apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.gros-bouton{width:100%;padding:14px;border-radius:16px;border:0;background:#0b0d12;color:var(--jaune);font:800 15.5px Sora,system-ui,-apple-system,sans-serif;cursor:pointer}
.th-eclair .gros-bouton{background:var(--jaune);color:#000}
.gros-bouton.second{background:transparent;color:var(--encre);border:1px solid var(--ligne)}
.gros-bouton:disabled{opacity:.5;cursor:default}
.accueil{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px 22px;max-width:440px;margin:0 auto;text-align:center;gap:6px}
.accueil .logo{width:120px;height:120px;filter:drop-shadow(0 14px 28px rgba(31,107,255,.45))}
.accueil .slogan{font-weight:800;color:var(--doux);margin:0 0 18px}
.accueil .erreur{color:var(--danger);font-weight:700}
.profil-tete{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 16px 14px;text-align:center}
.profil-tete .av{width:92px;height:92px;font-size:32px}
.profil-tete b{font:800 21px Sora,system-ui,-apple-system,sans-serif}
.choix-membres{display:flex;flex-direction:column}
.choix-membres label{display:flex;align-items:center;gap:12px;padding:8px 4px;cursor:pointer;border-bottom:1px solid var(--ligne)}
.choix-membres input{width:20px;height:20px;accent-color:var(--bleu)}
.visionneuse{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.92);display:grid;place-items:center;cursor:zoom-out}
.visionneuse img{max-width:96vw;max-height:92vh;border-radius:8px}
.tableau{width:100%;border-collapse:collapse;font-size:13.5px}
.tableau td,.tableau th{padding:7px 8px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top}
.tableau th{font:800 11px Manrope,system-ui,-apple-system,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--doux)}
.defile-x{overflow-x:auto}
.bandeau-hors{flex:none;background:var(--danger);color:#fff;text-align:center;font-size:12.5px;font-weight:700;padding:3px}
.bandeau-beta{font:800 10px Manrope,system-ui,-apple-system,sans-serif;letter-spacing:.08em;color:#0b0d12;background:var(--jaune);border-radius:999px;padding:2px 8px;vertical-align:4px}

/* ═══ Façon WhatsApp (0.2) ═══ */
.saisie .mini.actif{color:var(--bleu-txt)}
.panneau-dock{flex:none;height:min(46vh,400px);display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--ligne);padding-bottom:env(safe-area-inset-bottom,0px)}
.th-lumiere .panneau-dock{background:#f7f8fa}
@media (min-width:900px){
  .colonne.droite{position:relative}
  .panneau-dock{position:absolute;z-index:30;left:12px;bottom:74px;width:420px;height:460px;border:1px solid var(--ligne);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.28);overflow:hidden}
  .panneau-dock.joindre{width:360px;height:auto}
}
.panneau-dock .poignee{width:40px;height:5px;border-radius:3px;background:var(--ligne);margin:8px auto 4px}
.pe-tete{flex:none;padding:10px 12px 6px;display:flex;flex-direction:column;gap:8px}
.pe-recherche{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--ligne);border-radius:999px;padding:0 12px}
.th-lumiere .pe-recherche{background:#fff}
.pe-recherche input{flex:1;border:0;background:transparent;color:var(--encre);font:14.5px Manrope,system-ui,-apple-system,sans-serif;padding:8px 0;outline:none;min-width:0}
.pe-recherche button{border:0;background:transparent;cursor:pointer;color:var(--doux)}
.pe-onglets{display:flex;justify-content:center;gap:4px;background:var(--surface2);border-radius:999px;padding:3px;align-self:center}
.th-lumiere .pe-onglets{background:#eceff4}
.pe-onglets button{border:0;background:transparent;border-radius:999px;padding:5px 18px;font:800 13px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer;color:var(--doux)}
.pe-onglets button.on{background:var(--surface);color:var(--encre);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.th-eclair .pe-onglets button.on{background:#2a2e37}
.pe-corps{flex:1;min-height:0;overflow-y:auto;padding:0 10px 10px}
.pe-corps h5{margin:12px 4px 6px;font:800 13px Manrope,system-ui,-apple-system,sans-serif;color:var(--doux)}
.pe-corps .grille-emo{grid-template-columns:repeat(auto-fill,minmax(40px,1fr))}
.pe-corps .grille-emo button{font-size:27px;padding:3px}
.pe-corps .grille-emo img{width:34px;height:34px}
.pe-note{font-size:12.5px;color:var(--doux);margin:4px}
.pe-cats{flex:none;display:flex;justify-content:space-around;border-top:1px solid var(--ligne);padding:5px 4px;background:var(--surface)}
.th-lumiere .pe-cats{background:#f7f8fa}
.pe-cats button{border:0;background:transparent;font-size:19px;cursor:pointer;padding:4px 6px;border-radius:10px;filter:grayscale(.6);opacity:.8}
.pe-cats button:hover{filter:none;opacity:1;background:var(--surface2)}
.pe-cats img{width:22px;height:22px;vertical-align:middle}
.grille-joindre{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 8px;padding:14px 14px 22px}
.grille-joindre button{display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;font:600 12.5px Manrope,system-ui,-apple-system,sans-serif;color:var(--encre)}
.grille-joindre .rond{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:color-mix(in srgb,var(--c) 16%,transparent);border:1px solid color-mix(in srgb,var(--c) 35%,transparent)}
.grille-joindre button:hover .rond{background:color-mix(in srgb,var(--c) 28%,transparent)}
/* écrans plein cadre */
.ecran-form{padding:12px 16px 90px}
.champ-compte{position:relative}
.champ-compte small{position:absolute;right:12px;bottom:-4px;font-size:11.5px;color:var(--doux)}
.champ-compte.option .champ{margin-bottom:14px}
.fab-ecran{position:absolute;right:18px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:18px;border:0;background:var(--bleu);color:#fff;font-size:24px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:6}
.th-eclair .fab-ecran{background:var(--jaune);color:#000}
.fab-ecran:disabled{opacity:.4;cursor:default}
.colonne{position:relative}
.coche{width:24px;height:24px;border-radius:50%;border:2px solid var(--doux);flex:none;display:grid;place-items:center}
.coche.on{background:var(--bleu);border-color:var(--bleu)}
.coche.on::after{content:"✓";color:#fff;font-weight:900;font-size:14px}
.radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--doux);flex:none;position:relative}
.radio.on{border-color:var(--bleu)}
.radio.on::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--bleu)}
.av.vert{background:var(--bleu);font-size:22px}
.th-eclair .av.vert{background:var(--jaune);color:#000}
.puces-membres{display:flex;gap:12px;overflow-x:auto;padding:10px 16px 4px;scrollbar-width:none}
.puces-membres>*{flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;cursor:pointer;position:relative;color:var(--encre);width:62px}
.puces-membres small{font-size:11.5px;max-width:62px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.puces-membres i{position:absolute;right:6px;top:24px;width:18px;height:18px;border-radius:50%;background:var(--doux);color:var(--fond);font-style:normal;font-size:10px;display:grid;place-items:center}
.puces-membres.grand{flex-wrap:wrap}
.nv-tete{display:flex;gap:12px;align-items:center;padding:16px}
.nv-tete .champ{margin:0}
.photo-groupe{width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--ligne);font-size:24px;cursor:pointer;overflow:hidden}
.photo-groupe img{width:100%;height:100%;object-fit:cover}
.carte-pos{height:min(48vh,380px);background:var(--surface2);position:relative}
.rond-pic{color:#fff;border-radius:50%!important}
.choix-direct{display:flex;gap:8px;padding:6px 0 10px}
.choix-direct .gros-bouton{padding:10px}
/* bulles */
.pos-bulle{display:block;text-decoration:none}
.mini-carte{width:260px;max-width:100%;height:150px;border-radius:12px;overflow:hidden;position:relative;background:#e5e3df}
.mini-carte .tuiles{position:absolute;width:768px;height:768px}
.mini-carte .tuiles img{position:absolute;width:256px;height:256px;max-width:none}
.epingle-carte{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);font-size:28px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.pos-texte{padding:5px 2px 0;font-size:13.5px}
.carte-contact{display:flex;gap:10px;align-items:center;min-width:200px;padding:4px 0}
.bouton-bulle{display:block;width:100%;margin-top:6px;border:0;border-top:1px solid rgba(127,127,127,.3);background:transparent;color:inherit;font:800 13.5px Manrope,system-ui,-apple-system,sans-serif;padding:8px 0 4px;cursor:pointer}
.evt{display:flex;gap:10px;min-width:230px}
.evt-date{flex:none;width:46px;height:50px;border-radius:10px;background:rgba(127,127,127,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.evt-date b{font-size:19px}
.evt-rep{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}
.evt-rep button{flex:1;border:1px solid rgba(127,127,127,.35);background:transparent;color:inherit;border-radius:999px;padding:5px 8px;font:700 12px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer;white-space:nowrap}
.evt-rep button.on{background:rgba(232,255,26,.35);border-color:transparent}

/* ───── Statuts (0.3, 13/10/2026) ───── */
.titre-section{font:800 19px Sora,sans-serif;margin:6px 16px 4px}
.anneau{width:56px;height:56px;border-radius:50%;padding:3px;display:grid;place-items:center;flex:none;position:relative}
.anneau .av{width:100%;height:100%;border:2.5px solid var(--fond)}
.anneau .av .point{display:none}
.plus-statut{position:absolute;right:-1px;bottom:-1px;width:22px;height:22px;border-radius:50%;background:var(--bleu);color:#fff;display:grid;place-items:center;font:900 14px Manrope,system-ui,-apple-system,sans-serif;border:2px solid var(--fond)}
.bouton-section{display:block;width:100%;text-align:left;border:0;background:transparent;cursor:pointer}
.fabs{position:absolute;right:16px;bottom:calc(86px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:12px;z-index:5}
.fab-mini{width:44px;height:44px;border-radius:14px;border:1px solid var(--ligne);background:var(--surface2);font-size:19px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.onglets .point-actus{position:absolute;top:0;right:12px;width:10px;height:10px;border-radius:50%;background:var(--bleu);border:2px solid var(--barre)}
#calque{position:relative;z-index:50}
.createur-statut,.lecteur-statut{position:fixed;inset:0;z-index:50;background:#000;color:#fff;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.createur-statut.conf{background:var(--fond);color:var(--encre)}
.createur-statut.conf .zone{flex:1}
.rond-sombre{background:rgba(255,255,255,.12)!important;border-color:transparent!important;color:#fff!important}
.createur-tete{display:flex;align-items:center;gap:8px;padding:10px 12px}
.statut-outils{display:flex;gap:4px;margin-left:auto;overflow-x:auto;min-width:0}
.statut-outils button{flex:none;min-width:36px;height:36px;border-radius:18px;border:0;background:rgba(255,255,255,.14);color:#fff;font:700 15px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer;padding:0 10px}
.statut-outils button.on{background:#fff;color:#000}
.pastille-fond{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid #fff;vertical-align:middle}
.createur-centre{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 10px;overflow:hidden}
.statut-texte{width:100%;max-width:560px;height:100%;max-height:760px;border-radius:18px;display:flex;align-items:center;justify-content:center;padding:28px;text-align:center;overflow:hidden}
.statut-texte textarea{width:100%;height:70%;field-sizing:content;max-height:90%;background:transparent;border:0;outline:none;resize:none;text-align:center;line-height:1.25}
.statut-texte textarea::placeholder{color:currentColor;opacity:.6}
.statut-texte.plein{border-radius:0;max-width:none;max-height:none;font-size:inherit}
.statut-texte.plein>div{line-height:1.25;white-space:pre-wrap;overflow-wrap:break-word;max-width:100%}
.statut-texte a{color:inherit}
.gros-rond{width:84px;height:84px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:34px;cursor:pointer}
.gros-rond.enregistre{background:#ef4444;animation:pouls 1s infinite}
.statut-texte audio{width:min(320px,90%)}
.statut-choisir{display:flex;flex-direction:column;align-items:center;gap:10px;border:2px dashed rgba(255,255,255,.35);border-radius:20px;background:transparent;color:#fff;font:600 15px Manrope,system-ui,-apple-system,sans-serif;padding:40px 30px;cursor:pointer}
.statut-choisir span{font-size:44px}
.statut-medias{width:100%;height:100%;max-width:560px;display:grid;gap:4px;grid-template-columns:1fr;border-radius:14px;overflow:hidden}
.statut-medias img,.statut-medias video{width:100%;height:100%;object-fit:cover;min-height:0;display:block;background:#111}
.statut-medias.n1 img,.statut-medias.n1 video{object-fit:contain}
.statut-medias.n2{grid-template-columns:1fr 1fr}
.statut-medias.n3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.statut-medias.n3>:first-child{grid-row:span 2}
.statut-medias.n4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.statut-medias.n5,.statut-medias.n6{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr)}.statut-medias.n5>:first-child{grid-row:span 2}
.statut-medias.plein{max-width:none;border-radius:0}
.legende-statut{margin:8px 12px 0;padding:11px 14px;border-radius:22px;border:0;background:rgba(255,255,255,.12);color:#fff;font:15px Manrope,system-ui,-apple-system,sans-serif;outline:none}
.statut-choix{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:10px 12px 0}
.statut-choix button{border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;border-radius:999px;padding:7px 13px;font:700 13px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer}
.statut-choix button.on{background:var(--jaune);color:#000;border-color:var(--jaune)}
.createur-options{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:10px 12px 0}
.createur-options button{flex:none;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:8px 12px;font:700 12.5px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer}
.createur-bas{display:flex;align-items:center;gap:10px;padding:12px}
.createur-modes{flex:1;display:flex;gap:4px;overflow-x:auto;min-width:0}
.createur-modes button{flex:none;border:0;background:transparent;color:rgba(255,255,255,.65);font:700 13px Manrope,system-ui,-apple-system,sans-serif;padding:8px 7px;border-radius:999px;cursor:pointer}
.createur-modes button.on{background:rgba(255,255,255,.18);color:#fff}
.barres{display:flex;gap:4px;padding:10px 10px 0}
.barres i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden}
.barres b{display:block;height:100%;background:#fff}
.lecteur-tete{display:flex;align-items:center;gap:10px;padding:10px 12px}
.lecteur-tete .c-t{flex:1;min-width:0;display:flex;flex-direction:column}
.lecteur-tete small{opacity:.75;font-size:12px}
.lecteur-centre{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;touch-action:none}
.statut-plein-media{max-width:100%;max-height:100%}
.zone-prec,.zone-suiv{position:absolute;top:0;bottom:0;border:0;background:transparent;cursor:pointer}
.zone-prec{left:0;width:30%}.zone-suiv{right:0;width:70%}
.lecteur-legende{margin:0;padding:10px 16px;text-align:center;background:rgba(0,0,0,.4)}
.lecteur-bas{padding:6px 12px 12px}
.reac-statut{display:flex;justify-content:center;gap:6px}
.reac-statut button{border:0;background:rgba(255,255,255,.1);border-radius:50%;width:40px;height:40px;font-size:20px;cursor:pointer}
.reac-statut button.on{background:var(--jaune)}
.lecteur-bas .champ{background:rgba(255,255,255,.12)!important;border-color:transparent!important}
.lecteur-vues{margin:8px auto 14px;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:9px 18px;font:700 14px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer}
.lecteur-panneau{position:absolute;left:0;right:0;bottom:0;max-height:60%;display:flex;flex-direction:column;background:var(--surface);color:var(--encre);border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
.lp-tete{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}
.lp-corps{overflow-y:auto}
.cite-statut{cursor:pointer;display:flex;gap:8px;align-items:center;justify-content:space-between;background:rgba(0,0,0,.08);border-left:3px solid var(--jaune);border-radius:8px;padding:6px 6px 6px 9px;margin-bottom:6px;min-width:180px}
.cite-statut span{display:flex;flex-direction:column;min-width:0}
.cite-statut small{opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.cite-statut.expire{opacity:.6}
.cs-vign{width:40px;height:52px;border-radius:6px;object-fit:cover;display:grid;place-items:center;flex:none;padding:2px;overflow:hidden;background:rgba(0,0,0,.2)}
.grille-gif{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:5px}
.grille-gif button{border:0;padding:0;background:var(--surface2);border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:1}
.grille-gif img{width:100%;height:100%;object-fit:cover;display:block}
.img-msg.gif{max-width:260px;height:auto}
/* ordinateur : le statut se lit dans une colonne au format téléphone, centrée (comme WhatsApp Web) */
@media (min-width:900px){.createur-statut>*,.lecteur-statut>*{width:100%;max-width:520px;margin-left:auto;margin-right:auto}.lecteur-centre{border-radius:14px;overflow:hidden}.lecteur-panneau{left:50%;right:auto;transform:translateX(-50%)}}
@supports (field-sizing:content){.statut-texte textarea{height:auto;min-height:1.3em}}

/* le message du bas passe au-dessus des boutons ronds de l'onglet Actus */
body:has(.fabs) .toast{bottom:calc(210px + env(safe-area-inset-bottom,0px))}

/* ───── Réglages façon WhatsApp (0.4, 13/10/2026) ───── */
[hidden]{display:none!important}
.rg{gap:14px;justify-content:flex-start;color:var(--encre);text-decoration:none;font:inherit}
.rg .rg-ic{width:28px;flex:none;text-align:center;font-size:19px;line-height:1}
.rg .rg-t{flex:1;min-width:0;font-size:15px}
.rg .rg-t small{display:block;color:var(--doux);font-size:12.5px;margin-top:2px;line-height:1.35}
.rg .rg-fl{color:var(--doux);font-size:20px;flex:none}
.rg .inter{flex:none}
.rg-danger,.rg-danger .rg-t{color:var(--danger)}
.rg-note{padding:8px 16px 6px;margin:0;color:var(--doux);font-size:13px;line-height:1.45}
.rg-aide{margin:-6px 0 12px;color:var(--doux);font-size:12.5px}
.rg-illu{text-align:center;font-size:52px;padding:20px 0 4px;letter-spacing:6px}
.lib small{font-weight:500;color:var(--doux);text-transform:none;letter-spacing:0}
.profil-ligne{display:flex;align-items:center;gap:14px;width:100%;padding:10px 16px 14px;border:0;background:transparent;color:var(--encre);text-align:left;cursor:pointer;border-bottom:1px solid var(--ligne)}
.profil-ligne .av{width:64px;height:64px;font-size:24px}
.profil-ligne .c-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.profil-ligne b{font:800 19px Sora,sans-serif}
.profil-ligne small{color:var(--doux);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-profil{position:relative;cursor:pointer;display:inline-block}
.photo-profil .av{width:120px;height:120px;font-size:44px}
.photo-crayon{position:absolute;right:2px;bottom:2px;width:36px;height:36px;border-radius:50%;background:var(--bleu);display:grid;place-items:center;font-size:16px;border:3px solid var(--fond)}
.ligne-lien{display:flex;gap:8px;align-items:center}.ligne-lien .champ{margin:4px 0 8px}
.qr-carte{margin:8px 16px 14px;padding:18px;border-radius:22px;background:var(--surface);border:1px solid var(--ligne);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.qr-carte .av{width:58px;height:58px}
.qr-carte small{color:var(--doux)}
.qr-carte p{margin:6px 0 0;color:var(--doux);font-size:13px;max-width:320px}
.qr-img{width:min(240px,70vw);height:auto;aspect-ratio:1;background:#fff;border-radius:14px;padding:8px;margin-top:8px}
.code-lien{display:inline-block;margin-top:4px;font:800 18px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--encre)}
.qr-scan{position:relative;margin:8px 16px;border-radius:20px;overflow:hidden;background:#000;aspect-ratio:1;max-width:420px;margin-inline:auto}
.qr-scan video{width:100%;height:100%;object-fit:cover}
.qr-cadre{position:absolute;inset:18%;border:3px solid var(--jaune);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.35)}
.pastille-actuel{font-style:normal;font-size:11px;font-weight:800;background:var(--bleu);color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.etoile-ligne{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid var(--ligne);background:transparent;color:var(--encre);cursor:pointer}
.etoile-ligne:hover{background:var(--surface2)}
.etoile-tete{display:flex;gap:4px;font-size:13px;color:var(--doux)}.etoile-tete b{color:var(--encre)}.etoile-tete em{margin-left:auto;font-style:normal}
.etoile-texte{background:var(--bulle-lui);color:var(--bulle-lui-txt);border-radius:12px;padding:8px 11px;white-space:pre-wrap;overflow-wrap:break-word}
.entete{position:relative}
.menu-pop{position:absolute;right:12px;top:52px;z-index:45;min-width:240px;background:var(--surface);border:1px solid var(--ligne);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.3);padding:6px;display:flex;flex-direction:column}
.menu-pop button{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--encre);font:600 15px Manrope,system-ui,-apple-system,sans-serif;padding:12px 14px;border-radius:10px;cursor:pointer;text-align:left}
.menu-pop button:hover,.menu-pop button:focus-visible{background:var(--surface2)}
.menu-pop button span{width:22px;text-align:center}
.nuancier{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:6px 16px 10px}
.nuancier button{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px solid transparent;background:var(--surface2);border-radius:14px;padding:10px 6px;font:600 12px Manrope,system-ui,-apple-system,sans-serif;color:var(--encre);cursor:pointer}
.nuancier button span{width:44px;height:28px;border-radius:14px 14px 4px 14px}
.nuancier button.on{border-color:var(--bleu)}
.barre-stock{display:block;height:5px;border-radius:3px;background:var(--surface2);overflow:hidden;margin:4px 0 2px}.barre-stock i{display:block;height:100%;background:var(--bleu)}
.faq{margin:0 16px;border-bottom:1px solid var(--ligne)}
.faq summary{padding:14px 0;font-weight:700;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";float:right;color:var(--doux)}.faq[open] summary::after{content:"－"}
.faq p{margin:0 0 14px;color:var(--doux)}
.media-a-charger{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:200px;padding:22px 16px;border:0;border-radius:12px;background:rgba(0,0,0,.18);color:inherit;font:700 14px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer}
.media-a-charger span{font-size:30px}.media-a-charger small{opacity:.8;font-weight:500}
.bandeau-bloque{flex:none;border:0;background:var(--surface2);color:var(--danger);font:700 14px Manrope,system-ui,-apple-system,sans-serif;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ligne);cursor:pointer}
#verrou{position:fixed;inset:0;z-index:200;background:var(--fond);display:grid;place-items:center;padding:24px}
.verrou-boite{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(320px,100%);text-align:center}
.verrou-boite h2{font:800 22px Sora,system-ui,-apple-system,sans-serif;margin:8px 0 0}.verrou-boite p{margin:0;color:var(--doux)}
.verrou-boite input{width:100%;text-align:center;font:800 28px ui-monospace,Menlo,monospace;letter-spacing:.5em;padding:12px;border-radius:14px;border:1px solid var(--ligne);background:var(--surface2);color:var(--encre);margin-top:8px}
.lien-discret{border:0;background:transparent;color:var(--bleu-txt);font:600 14px Manrope,system-ui,-apple-system,sans-serif;cursor:pointer;padding:8px}
/* préférences d'affichage */
.b{font-size:var(--taille-texte,14.5px)}
.droite .zone:has(> .fil){background:var(--fond-discussion,transparent)}
body.bulles-perso .b.moi{background:var(--bulle-moi-perso)}
body.contraste{--doux:var(--encre);--ligne:color-mix(in srgb,var(--encre) 45%,transparent)}
body.contraste .b.lui{outline:1px solid var(--ligne)}
body.sans-animation *,body.sans-animation *::before,body.sans-animation *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.grandes-cibles .reglage,body.grandes-cibles .conv{padding-top:16px;padding-bottom:16px}
body.grandes-cibles .ico{width:46px;height:46px}
body.grandes-cibles .onglets button{padding:6px 14px}
/* ordinateur : la petite flèche des options apparaît au survol d'un message (comme WhatsApp Web) */
.b .chevron{display:none;position:absolute;top:3px;right:5px;z-index:2;width:24px;height:22px;border:0;border-radius:8px;background:inherit;color:inherit;opacity:.85;font-size:15px;line-height:1;cursor:pointer;box-shadow:-6px 0 8px -2px rgba(0,0,0,.15)}
@media (pointer:fine){.b:hover .chevron,.b:focus-within .chevron{display:block}}

/* ───── Lot C (0.5, 14/10/2026) ───── */
.texte.replie{display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}
/* « Lire la suite » / « Réduire » en jaune : on distingue l'option du texte au premier coup d'œil (demande de Jonathan, 14/10/2026).
   Sur les bulles claires des thèmes Lumière et Acier, un jaune foncé reste lisible. */
.lire-suite{display:block;border:0;background:transparent;color:var(--jaune);font:800 13px Manrope,system-ui,sans-serif;text-decoration:underline;padding:4px 0 0;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.th-lumiere .b.lui .lire-suite,.th-acier .b.lui .lire-suite{color:#6b7a00;text-shadow:none}
.traduction{margin-top:6px;padding-top:6px;border-top:1px dashed currentColor;opacity:.95}
.traduction small{display:block;opacity:.75;font-size:11.5px;margin-bottom:2px}
.traduction div{white-space:pre-wrap}
.traduction .vit{margin-top:4px}
.jours-sa{display:flex;gap:6px;margin:6px 0 12px}
.jours-sa button{width:38px;height:38px;border-radius:50%;border:1px solid var(--ligne);background:var(--surface2);color:var(--encre);font:800 13px Manrope,system-ui,sans-serif;cursor:pointer}
.jours-sa button.on{background:var(--bleu);border-color:var(--bleu);color:#fff}
.bandeau-film{flex:none;display:flex;align-items:center;gap:10px;justify-content:center;padding:10px 14px;background:#7f1d1d;color:#fff;font:700 14px Manrope,system-ui,sans-serif}
.bandeau-film .vit{color:#fff;border-color:#fff}
.bt-demande{padding:7px 12px;font-size:13px;margin-left:4px}
/* Barre de chargement d'un fichier : animée tant que l'envoi n'est pas fini (14/10/2026) */
.toast .charge{position:absolute;left:0;bottom:0;height:3px;width:35%;background:var(--jaune);animation:toast-charge 1.1s ease-in-out infinite}
@keyframes toast-charge{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@media (prefers-reduced-motion:reduce){.toast .charge{animation:none;width:100%;opacity:.6}}
.toast .charge.prog{animation:none;transform:none;transition:width .25s ease}

/* Apparence v2 (14/10/2026) : forme des bulles, aperçu en direct, thèmes, fonds */
.b{border-radius:var(--rayon-bulle,18px)}
.b.moi{border-bottom-right-radius:min(6px,var(--rayon-bulle,18px))}.b.lui{border-bottom-left-radius:min(6px,var(--rayon-bulle,18px))}
.ap-apercu{margin:10px 16px 4px;border:1px solid var(--ligne);border-radius:18px;overflow:hidden}
.ap-zone{display:flex;flex-direction:column;gap:6px;padding:14px 12px;background:var(--fond-discussion,var(--fond));background-color:var(--fond)}
.ap-zone .b{max-width:85%}
.ap-legende{margin:0;padding:7px 12px;font-size:12px;color:var(--doux);background:var(--surface2)}
.ap-themes{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:6px 16px 10px}
@media (min-width:560px){.ap-themes{grid-template-columns:repeat(3,1fr)}}
.ap-themes button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:2px solid var(--ligne);background:var(--surface);color:var(--encre);border-radius:14px;padding:10px 12px;cursor:pointer;font:600 13px Manrope,system-ui,-apple-system,sans-serif}
.ap-themes button.on{border-color:var(--bleu)}
.ap-themes small{color:var(--doux);font-weight:500;font-size:11.5px}
.ap-pastilles{display:flex;gap:4px;margin-bottom:2px}.ap-pastilles i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(127,127,127,.35)}
.ap-puces{flex-wrap:wrap;padding:6px 16px 10px}
.ap-forme{display:inline-block;width:22px;height:14px;background:var(--bulle-moi-perso,var(--bulle-moi));margin-right:6px;vertical-align:-2px}
.ap-fonds{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:6px 16px 10px}
.ap-fonds button,.ap-photo{display:flex;flex-direction:column;align-items:center;gap:5px;border:2px solid transparent;background:transparent;color:var(--encre);border-radius:12px;padding:4px;cursor:pointer;font:600 11.5px Manrope,system-ui,-apple-system,sans-serif;text-align:center}
.ap-fonds button.on,.ap-photo.on{border-color:var(--bleu)}
.ap-fonds span,.ap-photo span{width:100%;aspect-ratio:3/4;border-radius:9px;border:1px solid var(--ligne);display:grid;place-items:center;font-size:22px;background:var(--surface2)}

/* Jumelle de test : un ruban jaune pour ne jamais la confondre avec la vraie WattLink (14/10/2026) */
body.jumelle::after{content:'JUMELLE · test';position:fixed;top:calc(4px + env(safe-area-inset-top,0px));left:50%;transform:translateX(-50%);z-index:90;background:var(--jaune);color:#000;font:800 10.5px Manrope,system-ui,sans-serif;letter-spacing:.08em;border-radius:999px;padding:2px 10px;pointer-events:none}


/* ═════════ APPELS (étape 2, 14/10/2026) ═════════ */
.appel-voile { position: fixed; inset: 0; background: rgba(8, 14, 10, .96); z-index: 300; display: flex; align-items: center; justify-content: center; }
.appel-ecran { width: min(480px, 100%); height: 100%; max-height: 100dvh; display: flex; flex-direction: column; justify-content: space-between; align-items: center; padding: max(28px, env(safe-area-inset-top)) 18px max(26px, env(safe-area-inset-bottom)); color: #eef3ec; position: relative; }
.appel-ecran.video { width: 100%; max-width: none; padding: 0; }
/* La couche média permanente (15/10/2026) : sous l'écran d'appel, jamais recréée. */
#ap-media { display: none; }
#ap-media.actif { display: block; position: fixed; inset: 0; z-index: 299; background: rgba(8, 14, 10, .96); }
#ap-media audio { display: none; }
#ap-media #ap-video-distant, #ap-media #ap-video-local { display: none; }
#ap-media.video #ap-video-distant { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; }
#ap-media.video #ap-video-local { display: block; }
.appel-voile.transparent { background: transparent; }
.ap-activer-son { position: absolute; top: 40%; left: 50%; transform: translateX(-50%); z-index: 4; background: #35b14f; color: #fff; border: none; border-radius: 99px; padding: 14px 22px; font-size: 16px; font-weight: 700; box-shadow: 0 6px 20px rgba(0,0,0,.4); cursor: pointer; }
#ap-video-local { position: absolute; right: 14px; top: max(14px, env(safe-area-inset-top)); width: 110px; aspect-ratio: 3/4; object-fit: cover; border-radius: 12px; border: 2px solid rgba(255,255,255,.6); background: #111; z-index: 2; }
.appel-haut { display: flex; flex-direction: column; align-items: center; gap: 8px; z-index: 2; text-align: center; padding-top: 4vh; }
.appel-ecran.video .appel-haut { background: linear-gradient(rgba(0,0,0,.55), transparent); width: 100%; padding: max(18px, env(safe-area-inset-top)) 0 24px; }
.appel-haut b { font-size: 22px; }
.appel-haut .av.grand { width: 92px; height: 92px; font-size: 38px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; background: var(--vert, #3f9b1e); }
.appel-haut .av.grand img { width: 100%; height: 100%; object-fit: cover; }
.ap-qualite { width: 11px; height: 11px; border-radius: 50%; display: inline-block; }
.ap-qualite[data-q="bonne"] { background: #43c15c; } .ap-qualite[data-q="moyenne"] { background: #e8c515; } .ap-qualite[data-q="faible"] { background: #e05545; }
.appel-boutons { display: flex; gap: 18px; justify-content: center; z-index: 2; padding-bottom: 3vh; }
.ap-rond { width: 62px; height: 62px; border-radius: 50%; border: none; font-size: 24px; background: rgba(255,255,255,.16); color: #fff; cursor: pointer; }
.ap-rond.actif { background: rgba(255,255,255,.85); color: #15200f; }
.ap-rond.vert { background: #35b14f; } .ap-rond.rouge { background: #e0452f; }
.appel-refus { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; z-index: 2; padding-bottom: 8px; }
.appel-refus button { border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; border-radius: 99px; padding: 7px 13px; font-size: 13.5px; cursor: pointer; }
.appel-demande { position: absolute; left: 50%; transform: translateX(-50%); bottom: 150px; background: #1d2a18; border: 1px solid #3f9b1e; color: #fff; border-radius: 12px; padding: 10px 14px; display: flex; gap: 10px; align-items: center; z-index: 3; }
.appel-demande button { border: none; border-radius: 8px; padding: 6px 12px; cursor: pointer; }
.appel-bandeau { position: fixed; top: calc(env(safe-area-inset-top) + 6px); left: 50%; transform: translateX(-50%); z-index: 300; background: #35b14f; color: #fff; border: none; border-radius: 99px; padding: 9px 16px; font-size: 14px; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.ligne-appel { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--ligne, rgba(128,128,128,.18)); }
.ligne-appel .qui-appel { flex: 1; display: flex; flex-direction: column; }
.ligne-appel.manque b { color: #e05545; }
.ligne-appel .ico { font-size: 18px; }

/* 📌 Annonces épinglées (D7, 14/10/2026) */
.annonces-ep { margin: 6px 12px 2px; display: flex; flex-direction: column; gap: 6px; }
.annonce-ep { display: flex; align-items: center; gap: 10px; border: 1px solid var(--vert, #3f9b1e); border-radius: 12px; padding: 9px 12px; background: color-mix(in srgb, var(--vert, #3f9b1e) 9%, transparent); }
.annonce-pic { font-size: 18px; }
.annonce-corps { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.annonce-corps span { overflow: hidden; text-overflow: ellipsis; }
.annonce-corps small { opacity: .7; }
.annonce-vign { width: 42px; height: 42px; object-fit: cover; border-radius: 8px; }

/* i19 : test micro / caméra */
.test-micro { margin: 8px 14px; }
.vu-metre { height: 14px; border-radius: 99px; background: var(--fond-2, rgba(128,128,128,.18)); overflow: hidden; }
.vu-metre i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #43c15c, #e8c515 70%, #e05545); transition: width .08s; border-radius: 99px; }

/* i9 : figer une image en visio */
.atelier-figee { position: absolute; inset: 0; z-index: 5; background: rgba(8, 14, 10, .97); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: max(16px, env(safe-area-inset-top)) 12px max(16px, env(safe-area-inset-bottom)); }
.atelier-figee p { margin: 0; color: #eef3ec; font-size: 14px; }
#ap-figee { max-width: 100%; max-height: 70vh; border-radius: 10px; touch-action: none; cursor: crosshair; background: #000; }
.atelier-boutons { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.atelier-boutons button { border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.1); color: #fff; border-radius: 99px; padding: 9px 15px; cursor: pointer; }
.atelier-boutons button.vert { background: #35b14f; border-color: #35b14f; font-weight: 600; }

/* i7 : choix de la sonnerie */
.choix-sonnerie { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 16px 8px; }
.choix-sonnerie button { border: 1px solid var(--ligne, rgba(128,128,128,.3)); background: transparent; color: inherit; border-radius: 99px; padding: 6px 13px; cursor: pointer; }
.choix-sonnerie button.on { background: var(--vert, #3f9b1e); border-color: var(--vert, #3f9b1e); color: #fff; }

/* Bandeau « active les notifications » (15/10/2026) */
.bandeau-notif { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 6px 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--vert, #3f9b1e); background: color-mix(in srgb, var(--vert, #3f9b1e) 10%, transparent); font-size: 13.5px; }
.bandeau-notif span { flex: 1; min-width: 200px; }
.bandeau-notif.rouge { border-color: #d9452f; background: color-mix(in srgb, #d9452f 10%, transparent); }
