/* ==========================================================================
   Nouveau visuel Bavardeo : « jour » (mode clair) et « nuit douce » (mode sombre).
   Actif quand <html> porte la classe ds-neo (par défaut). Le visuel d'origine reste intact sans cette classe.
   Les ambiances choisies par le membre (data-amb) gardent leurs propres couleurs.
   ========================================================================== */
:root.ds-neo{--font-ui:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;--font-logo:"Outfit",system-ui,sans-serif;--font-chat:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;--r:18px;--r-sm:12px}
/* jour */
:root.ds-neo:not(.neo-d):not([data-amb]){--page:#f4f3fb;--panel:#ffffff;--chrome:#ffffff;--chrome2:#f7f6fd;--ink:#1d1f3d;--muted:#5f6390;--line:#e3e1f3;--line2:#ecebf7;
  --accent:#ff6a4d;--accent2:#ee4f33;--accent-soft:#ffe9e3;--link:#2f5bd8;--hover:#f1f0fb;--sel:#ebeafb;--shadow:0 14px 40px -30px rgba(60,50,140,.35);
  --foot:#1d1f3d;--footink:#b9bce0;--foothead:#ffffff;--c-noir:#1d1f3d;--h:#2f5bd8;--f:#d6337a}
:root.ds-neo:not(.neo-d){--neo-glass:rgba(255,255,255,.7);--neo-glass-b:rgba(255,255,255,.95);--neo-bub:#f1f0fb;--neo-cy:#2f5bd8;--neo-chip:#e9e3ff;--neo-chip-ink:#5b2fd6;
  --neo-grad:linear-gradient(90deg,#1d1f3d 30%,#ff6a4d 68%,#8a4dff);--neo-sys:#eef4ff;--neo-sys-b:#d3e1ff;--neo-sys-ink:#2f5bd8;--neo-btn:rgba(255,255,255,.85);
  --neo-halo:radial-gradient(900px 520px at 88% -8%,#e6dcff 0,transparent 60%),radial-gradient(800px 520px at -12% 28%,#d6ecff 0,transparent 55%),radial-gradient(700px 500px at 50% 110%,#ffe3da 0,transparent 60%)}
/* nuit douce */
:root.ds-neo.neo-d:not([data-amb]){--page:#12142b;--panel:#1b1e3a;--chrome:#16183a;--chrome2:#1f2244;--ink:#eef0ff;--muted:#a3a8d6;--line:#2c3060;--line2:#262a52;
  --accent:#ff7a59;--accent2:#ff9474;--accent-soft:#3a2440;--link:#7fe3ff;--hover:#252950;--sel:#2a2f5e;--shadow:0 18px 40px -26px rgba(0,0,0,.6);
  --foot:#0c0e20;--footink:#a3a8d6;--foothead:#ffffff;--c-noir:#eef0ff;--h:#7fb2ff;--f:#ff8fc4;color-scheme:dark}
:root.ds-neo.neo-d{--neo-glass:rgba(32,35,68,.72);--neo-glass-b:rgba(255,255,255,.08);--neo-bub:#262a52;--neo-cy:#7fe3ff;--neo-chip:#7fe3ff;--neo-chip-ink:#12142b;
  --neo-grad:linear-gradient(90deg,#ffffff 30%,#ffb199 70%,#7fe3ff);--neo-sys:rgba(127,227,255,.08);--neo-sys-b:rgba(127,227,255,.25);--neo-sys-ink:#bfefff;--neo-btn:rgba(255,255,255,.06);
  --neo-halo:radial-gradient(900px 500px at 85% -5%,#3b2a6b 0,transparent 60%),radial-gradient(800px 500px at -10% 30%,#173a5e 0,transparent 55%)}

/* fond : halos doux (sauf si le membre a choisi une ambiance) */
:root.ds-neo:not([data-amb]) body{background:var(--neo-halo),var(--page);background-attachment:fixed}
.ds-neo body{font-family:var(--font-ui)}

/* en-tête et barre des rubriques */
.ds-neo header.top{background:color-mix(in srgb,var(--panel) 72%,transparent);border-bottom:1px solid var(--line)}
.ds-neo .top::before{background:transparent!important}
.ds-neo .logo{font-family:var(--font-logo);font-weight:700;letter-spacing:-.02em}
.ds-neo .nav button.l{border-radius:999px}
.ds-neo .subnav{background:color-mix(in srgb,var(--panel) 50%,transparent);border-bottom:1px solid var(--line)}

/* boutons */
.ds-neo .btn{border-radius:999px;font-weight:600}
.ds-neo .btn:not(.go):not(.danger):not(.on):not(.dg):not(.danger-btn){background:var(--neo-btn);border-color:var(--line)}
.ds-neo .btn.go{background:linear-gradient(90deg,var(--accent),#ff4f8b);border-color:transparent;color:#fff;box-shadow:0 8px 22px -12px #ff5f7a}
.ds-neo .btn.go:hover{filter:brightness(1.05)}

/* accueil */
.ds-neo .hero{background:var(--neo-glass);border:1px solid var(--neo-glass-b);border-radius:28px;padding:44px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}
.ds-neo .hero h2{font-family:var(--font-logo);font-size:clamp(36px,5vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1.02;background:var(--neo-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ds-neo .hero .slogan{color:var(--neo-cy);font-weight:500;font-size:clamp(18px,2vw,21px)}
.ds-neo .hero p{font-size:16px;max-width:58ch}
.ds-neo .hero .stat{font-family:var(--font-logo);font-size:clamp(52px,6vw,76px);font-weight:700;color:var(--ink);line-height:1}
.ds-neo .hero .stat::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:#22c58b;margin-right:12px;vertical-align:middle;box-shadow:0 0 0 6px rgba(34,197,139,.18)}
.ds-neo .hero .muted{color:var(--neo-cy)!important}

/* blocs et cartes */
.ds-neo .box{background:var(--neo-glass);border:1px solid var(--neo-glass-b);border-radius:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow)}
.ds-neo .box-h{background:transparent;border-bottom:1px solid var(--line2);font-family:var(--font-logo);font-weight:600}
.ds-neo .salon-pill{background:var(--panel);border:1px solid var(--line2);border-radius:16px}
.ds-neo .salon-pill:hover{border-color:#8a4dff}
.ds-neo .salon-pill .num{background:var(--neo-chip);color:var(--neo-chip-ink);border:0;font-weight:700}
.ds-neo .fs-item{border-radius:18px}

/* tchat (sauf « style classique » des années 2000, laissé tel quel) */
.ds-neo .applet:not(.classic){background:var(--neo-glass);border:1px solid var(--neo-glass-b);border-radius:24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.ds-neo .applet:not(.classic) .tabs-bar,.ds-neo .applet:not(.classic) .rail,.ds-neo .applet:not(.classic) .members,.ds-neo .applet:not(.classic) .dialog,.ds-neo .applet:not(.classic) .log{background:transparent}
.ds-neo .applet:not(.classic) .tabs-bar{border-bottom:1px solid var(--line)}
.ds-neo .applet:not(.classic) .tabs button[aria-selected=true]{background:var(--ink);color:var(--page);border-radius:999px}
.ds-neo .applet:not(.classic) .rail{border-right:1px solid var(--line)}
.ds-neo .applet:not(.classic) .members{border-left:1px solid var(--line)}
.ds-neo .applet:not(.classic) .rail .fold-in button{border-radius:12px}
.ds-neo .applet:not(.classic) .rail .fold-in button.in{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 18%,transparent),color-mix(in srgb,#ff4f8b 8%,transparent));color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}
.ds-neo .applet:not(.classic) .room-head{border-bottom:1px solid var(--line)}
.ds-neo .applet:not(.classic) .log .msg .mt{display:inline-block;max-width:100%;box-sizing:border-box;background:var(--neo-bub);border-radius:6px 18px 18px 18px;padding:7px 14px;margin-top:3px}
/* mes messages : bulle teintée corail, pour que la couleur d'écriture choisie (rouge, bleu, vert…) reste lisible */
.ds-neo .applet:not(.classic) .log .msg.mine .mt,.ds-neo .applet:not(.classic) .log .msg[data-me] .mt{background:color-mix(in srgb,var(--accent) 13%,var(--panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}
.ds-neo .applet:not(.classic) .log p.sys{background:var(--neo-sys);border:1px solid var(--neo-sys-b);color:var(--neo-sys-ink);border-radius:14px}
.ds-neo .applet:not(.classic) .inputbar{border-radius:999px;border-color:var(--line)}
.ds-neo .applet:not(.classic) .inputbar .go{border-radius:999px}

/* menus et fenêtres */
.ds-neo .menu-pop,.ds-neo .ntf-pop{border-radius:18px}

/* choix du visuel : menu du pseudo et Paramètres › Apparence (styles valables dans les deux visuels) */
.um-ds button{font-size:12px}
.ds-choix{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 6px}
.ds-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px;border:2px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}
.ds-opt.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ds-opt b{font-size:14px}.ds-opt small{color:var(--muted);font-size:12.5px;line-height:1.4}
.ds-ap{width:100%;height:56px;border-radius:10px;margin-bottom:6px;border:1px solid var(--line)}
.ds-neo-ap,.ds-opt.ds-neo .ds-ap{background:radial-gradient(60px 40px at 85% 10%,#e6dcff,transparent),radial-gradient(70px 50px at 10% 80%,#d6ecff,transparent),linear-gradient(90deg,#ff6a4d,#ff4f8b) 14px 34px/60px 10px no-repeat,#f4f3fb}
.ds-opt.ds-origine .ds-ap{background:linear-gradient(#2b59d9,#2b59d9) 14px 34px/60px 10px no-repeat,linear-gradient(#ff6a3d,#ff6a3d) 80px 34px/40px 10px no-repeat,#eef1f6}

/* page de maintenance : mêmes halos et carte translucide (jour en clair, nuit douce en sombre) */
.ds-neo .mt-page{background:var(--neo-halo),var(--page)!important;color:var(--ink)!important}
.ds-neo .mt-in{background:var(--neo-glass);border:1px solid var(--neo-glass-b);border-radius:32px;padding:clamp(28px,6vw,48px) clamp(20px,5vw,44px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 70px -40px rgba(40,30,110,.45)}
.ds-neo .mt-logo{font-family:var(--font-logo);font-weight:700}
.ds-neo .mt-page h1{font-family:var(--font-logo);font-weight:700;letter-spacing:-.03em;background:var(--neo-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ds-neo .mt-sub{color:var(--neo-cy);opacity:1;font-weight:500}
.ds-neo .mt-msg{color:var(--muted)}
.ds-neo .mt-page{--mt-soft:color-mix(in srgb,var(--accent) 13%,transparent)!important}
.ds-neo .mt-page.preview{padding-top:64px}
.ds-neo .mt-ret{background:var(--neo-btn);border:1px solid var(--line);border-radius:18px}
.ds-neo .mt-ret span{color:var(--accent);text-transform:none;letter-spacing:0;font-size:12.5px}
.ds-neo .mt-foot{color:var(--muted);opacity:1}
.ds-neo .mt-login input{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:10px 16px}

/* page de maintenance : mêmes halos, carte translucide et titre en dégradé */
.ds-neo .mt-page{background:var(--neo-halo),var(--page)!important;color:var(--ink)!important;font-family:var(--font-ui)}
.ds-neo .mt-in{background:var(--neo-glass);border:1px solid var(--neo-glass-b);border-radius:32px;padding:clamp(28px,5vw,48px) clamp(20px,5vw,44px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 70px -40px rgba(40,30,110,.45)}
.ds-neo .mt-logo{font-family:var(--font-logo);font-weight:700;letter-spacing:-.03em}
.ds-neo .mt-tag{font-style:normal;font-weight:500;color:var(--muted)}
.ds-neo .mt-tag span{color:var(--neo-cy)!important}
.ds-neo .mt-ill{filter:drop-shadow(0 14px 24px rgba(255,106,77,.25))}
.ds-neo .mt-page h1{font-family:var(--font-logo);font-weight:700;letter-spacing:-.03em;background:var(--neo-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ds-neo .mt-sub{color:var(--neo-cy);opacity:1;font-weight:500}
.ds-neo .mt-msg{color:var(--muted)}
.ds-neo .mt-ret{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:18px}
.ds-neo .mt-ret span{color:var(--accent2);text-transform:none;letter-spacing:0;font-size:12.5px}
.ds-neo .mt-foot{color:var(--muted);opacity:1}
.ds-neo .mt-login input{border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:10px 16px}
.ds-neo .mt-page.preview::before{background:var(--ink);color:var(--page);border-radius:999px}

/* le tchat peut être plus large que la page : un fond plein évite de voir à travers la bande claire
   laissée au centre par l'arrière-plan décoratif (sauf si le membre a choisi l'effet de transparence) */
:root.ds-neo:not(.fd-transp):not([data-amb]) .applet:not(.classic){background:var(--panel);backdrop-filter:none;-webkit-backdrop-filter:none}
/* « aucun arrière-plan » : avec le nouveau visuel, la pastille montre les halos du site plutôt qu'un tiret */
.ds-neo .um-fond-cur .fond-none{font-size:0;background:radial-gradient(14px 10px at 80% 20%,#e6dcff,transparent),radial-gradient(16px 12px at 15% 85%,#d6ecff,transparent),radial-gradient(14px 10px at 60% 100%,#ffe3da,transparent),var(--page);border-color:var(--line)}
.ds-neo.neo-d .um-fond-cur .fond-none{background:radial-gradient(14px 10px at 80% 20%,#3b2a6b,transparent),radial-gradient(16px 12px at 15% 85%,#173a5e,transparent),var(--page)}

/* boutons d'action forte (maintenance, suppression) : couleur pleine conservée, en forme de pilule */
.ds-neo .btn.dg{background:linear-gradient(90deg,#e8590c,#c2410c);border-color:transparent;color:#fff;box-shadow:0 8px 22px -12px #c2410c}
/* fenêtres (charte, confirmations…) : fond plein, pour ne pas voir la page à travers */
.ds-neo .modal .box{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none}

/* téléphone : les tiroirs du tchat (membres, salons) sont des panneaux pleins posés sur l'écran.
   Pas de flou sur le cadre du tchat ici : il ferait sortir les tiroirs de l'écran. */
@media (max-width:760px){
  .ds-neo .applet:not(.classic){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .ds-neo .applet:not(.classic) .members{background:var(--panel)!important;border-left:1px solid var(--line)}
  .ds-neo .applet:not(.classic) .rail{background:var(--panel)!important}
}
