:root{--bg:#06101f;--panel:rgba(10,27,50,.92);--line:#294a70;--text:#eef6ff;--muted:#9fb2ca;--cyan:#28d7ff;--gold:#ffbd3f;--purple:#9f75ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#040b15;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}.bg{position:fixed;inset:0;background:linear-gradient(rgba(4,11,21,.74),rgba(4,11,21,.94)),url('/assets/images/background-war.webp') center/cover;z-index:-1}.shell{max-width:1500px;margin:auto;padding:22px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;background:rgba(5,17,32,.94);border:1px solid #1d3858;border-radius:18px;padding:10px 18px;position:sticky;top:10px;z-index:10;box-shadow:0 15px 40px #0008}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none}.brand img{width:62px;height:62px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand b{font-size:25px;letter-spacing:2px}.brand small{color:var(--muted);font-weight:700}nav{display:flex;align-items:center;gap:7px}nav a{color:#c9d7e7;text-decoration:none;padding:12px 13px;border-radius:10px;font-weight:700}nav a:hover,nav a.active{background:#123457;color:white}nav a.admin{border:1px solid #385578}.menu-btn{display:none}.hero{min-height:390px;margin-top:20px;border:1px solid #2d5279;border-radius:22px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;padding:55px 70px;overflow:hidden;background:linear-gradient(90deg,rgba(6,22,42,.98),rgba(6,22,42,.5)),url('/assets/images/header-war.webp') center/cover;box-shadow:inset 0 0 80px #0007}.hero h1{font-size:64px;line-height:1;margin:10px 0 18px}.hero h1 em{font-style:normal;color:var(--cyan);text-shadow:0 0 30px #0ac8ff66}.hero p{max-width:720px;font-size:19px;color:#c6d4e4;line-height:1.6}.eyebrow,.panel-head span,.activity span{color:var(--cyan);font-size:12px;font-weight:900;letter-spacing:2px}.crest{text-align:center}.crest img{max-width:330px;filter:drop-shadow(0 20px 35px #000)}.hero-actions{display:flex;gap:12px;margin-top:26px}.btn{display:inline-flex;padding:14px 18px;border:1px solid #3d5d80;border-radius:11px;color:white;text-decoration:none;font-weight:800;background:#102946}.btn.primary{background:linear-gradient(135deg,#0f8fba,#165dbe);border-color:#39ccff}.notice{margin:18px 0;display:flex;gap:18px;padding:16px 20px;border-radius:14px;border:1px solid #705c27;background:linear-gradient(90deg,#3c2c0eaa,#17140daa);color:#f7e8bc}.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px}.panel{background:var(--panel);border:1px solid #284766;border-radius:18px;box-shadow:0 16px 35px #0005}.maincol{display:grid;gap:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #203f60}.panel-head h2{margin:5px 0 0;font-size:27px}.panel-head a{color:#8edfff;text-decoration:none}.news-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;padding:18px}.news{min-height:180px;padding:20px;border-radius:14px;background:#0b213b;border:1px solid #274866}.news.featured{background:linear-gradient(135deg,#102b4e,#141f3a)}.news h3{font-size:22px;margin:12px 0}.news p{color:#b7c8d9;line-height:1.5}.news small{color:#8198b0}.tag{display:inline-block;color:#04101b;background:var(--cyan);font-size:10px;font-weight:900;padding:5px 8px;border-radius:6px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity{padding:24px;display:flex;gap:18px}.activity .icon{font-size:42px}.activity h2{margin:5px 0}.activity p,.members p{color:#aebfd1}.activity button{border:1px solid #365778;color:#8295aa;background:#10233a;padding:10px;border-radius:8px}.members{padding-bottom:20px}.members p{padding:0 24px}.chat{height:660px;position:sticky;top:114px;display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #284766}.chat-head>div{display:flex;align-items:center;gap:10px}.chat-head small{display:block;color:#91a5bb}.online{width:11px;height:11px;border-radius:50%;background:#35e47c;box-shadow:0 0 12px #35e47c}.beta{font-size:10px;background:#37255c;color:#c9b6ff;padding:5px 7px;border-radius:6px}.messages{flex:1;padding:16px;overflow:auto}.msg{margin:0 0 14px;padding:12px 14px;background:#102945;border-radius:12px}.msg.system{text-align:center;color:#91a5bb;background:#0a1b2d}.msg b{font-size:13px}.msg b small{font-weight:400;color:#7f95ad;margin-left:8px}.msg p{margin:7px 0 0;color:#d5e2ef;line-height:1.4}.msg button{margin-top:8px;border:0;background:none;color:#7fdfff}.composer{display:flex;gap:8px;padding:14px;border-top:1px solid #284766}.composer input{flex:1;background:#081a2d;border:1px solid #294a6a;border-radius:10px;padding:13px;color:white}.composer button{width:44px;border:0;border-radius:10px;background:#1d6d92;color:white}footer{display:flex;justify-content:space-between;color:#778da5;padding:28px 4px}.menu-btn{background:none;border:0;color:white;font-size:28px}@media(max-width:1000px){.layout{grid-template-columns:1fr}.chat{height:520px;position:static}.hero{grid-template-columns:1fr;padding:40px}.crest{display:none}.hero h1{font-size:48px}nav{display:none}.menu-btn{display:block}.menu-open nav{display:flex;position:absolute;top:88px;left:0;right:0;flex-direction:column;background:#07182c;padding:12px;border-radius:14px}.news-grid,.two{grid-template-columns:1fr}}@media(max-width:600px){.shell{padding:10px}.brand small{display:none}.hero{padding:28px 20px;min-height:330px}.hero h1{font-size:39px}.hero-actions{flex-direction:column}.notice{flex-direction:column}.topbar{height:74px}.brand img{width:48px;height:48px}}
nav a.signup{background:#146695;color:#fff}nav a.account-link{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-link.wack-member{color:#ff6677;border:1px solid #7c2e38}.account-link.external-member{color:#67adff;border:1px solid #295d91}.notice a{color:#ffe08a}.online-count{color:#7fdfff!important;letter-spacing:0!important}.online-list{display:flex;gap:9px;flex-wrap:wrap;padding:18px 24px}.online-user{padding:8px 10px;border-radius:9px;font-weight:800}.online-user.wack,.chat-name.wack{color:#ff5d70;background:#401922}.online-user.external,.chat-name.external{color:#5ca9ff;background:#102f54}.chat-name{display:inline-block;padding:4px 7px;border-radius:6px}.chat-name small{color:inherit!important;opacity:.7}.members>p{padding:0 24px 18px}

/* Pack 4 — chat communautaire */
.chat .messages{display:flex;flex-direction:column;gap:10px}.chat-live{display:flex;gap:9px;background:transparent!important;padding:0!important;margin:0!important}.chat-live.mine{flex-direction:row-reverse}.chat-avatar{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid #41678e;flex:0 0 38px}.chat-avatar.fallback{display:grid;place-items:center;background:#163a62;font-weight:900}.chat-bubble{max-width:calc(100% - 48px);min-width:0;background:#102945;border:1px solid #254b70;border-radius:12px;padding:9px 10px}.chat-live.mine .chat-bubble{background:#173f62}.chat-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-meta time{font-size:9px;color:#8199b0;white-space:nowrap}.chat-bubble p{margin:7px 2px;color:#e5eff9;overflow-wrap:anywhere}.chat-bubble p.deleted{font-style:italic;color:#8199b0}.quoted{border-left:3px solid #39c8f5;background:#081b2e;padding:6px 8px;border-radius:6px;margin:6px 0;font-size:11px}.quoted b,.quoted span{display:block}.quoted span{color:#9eb2c6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-actions{display:flex;gap:8px;margin-top:5px}.chat-actions button,.add-reaction{border:0;background:none;color:#8edfff;font-size:11px;padding:2px 4px;cursor:pointer}.chat-actions button.danger{color:#ff7280}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.reaction{border:1px solid #31567a;background:#0a1d31;color:#dbe9f5;border-radius:13px;font-size:11px;padding:3px 6px;cursor:pointer}.reaction.active{border-color:#39d4ff;background:#123b55}.reaction-picker{display:none;margin-top:5px;padding:5px;background:#071a2c;border-radius:8px;letter-spacing:4px;cursor:pointer}.reaction-picker.show{display:block}.chat-replying{padding:8px 12px;background:#0a2037;border-top:1px solid #284766;color:#b9ccdc;font-size:11px}.chat-replying span{color:#fff}.chat-replying button{float:right;border:0;background:none;color:#ff7a86;font-size:16px}.emoji-panel{display:flex;gap:5px;flex-wrap:wrap;padding:8px 12px;border-top:1px solid #284766;background:#071a2d}.emoji-panel[hidden]{display:none}.emoji-panel button{border:0;background:#102b48;border-radius:7px;padding:5px;cursor:pointer}.composer .emoji-toggle{width:38px;background:#102b48}.chat-login{display:flex;gap:8px;padding:14px;border-top:1px solid #284766}.chat .beta{background:#133c2b;color:#6df6a8}.chat .composer input:focus{outline:1px solid #2bc9f7}.chat .composer button{cursor:pointer}.chat .composer button:disabled{opacity:.5}.chat .messages::-webkit-scrollbar{width:8px}.chat .messages::-webkit-scrollbar-thumb{background:#254b70;border-radius:8px}
.reaction-picker button{border:0;background:#102b48;border-radius:6px;padding:4px;cursor:pointer;margin-right:3px}

.online-empty{color:#9fb2ca;padding:2px 0}


/* Pack 4.0.5 — restaure l'affichage compact des messages supprimés */
.chat-deleted-row{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  min-height:22px !important;
  height:auto !important;
  margin:0 !important;
  padding:2px 6px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:11px !important;
  line-height:1.15 !important;
}
.chat-deleted-row.mine{justify-content:flex-end !important}
.chat-deleted-row .chat-deleted-name{
  font-weight:800;
  white-space:nowrap;
}
.chat-deleted-row .chat-deleted-name.wack{color:#c84b5a}
.chat-deleted-row .chat-deleted-name.external{color:#4f8fc8}
.chat-deleted-row .chat-deleted-text{
  font-style:italic;
  color:#71879e;
  white-space:nowrap;
}

/* Pack 4.1.2 */
.translation-toggle{margin-top:5px;border:0;background:transparent;color:#55c9ef;font-size:10px;cursor:pointer;padding:0}
.original-message{margin-top:5px;padding:6px 8px;border-left:2px solid #2bc9ef;background:#071a2d;color:#9fb2ca;font-size:11px;white-space:pre-wrap}
.message-original{margin-top:6px;font-size:11px;color:#9fb2ca}.message-original summary{cursor:pointer;color:#55c9ef}.message-original p{margin:5px 0 0!important;padding:6px 8px;background:#071a2d;border-radius:6px}

.event-home-card strong{color:#fff}.event-home-link{display:inline-block;margin-top:8px;color:#55d8ff;text-decoration:none;font-weight:800}

/* Pack 5.1 — chat plus dense, médias, liens et mobile */
.message-link{color:#61d9ff;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.chat{height:760px}
.chat .messages{padding:10px 11px;gap:6px}
.chat-live{gap:7px}
.chat-avatar{width:34px;height:34px;flex-basis:34px;border-radius:9px}
.chat-bubble{max-width:calc(100% - 42px);padding:7px 9px;border-radius:11px}
.chat-meta{gap:6px;align-items:flex-start}
.chat-meta .chat-name{line-height:1.1}
.chat-meta time{font-size:8px}
.chat-bubble p{margin:4px 1px;line-height:1.25}
.chat-actions{margin-top:2px;gap:4px}
.chat-actions button,.add-reaction{font-size:10px;padding:1px 3px;margin:0}
.reactions{margin-top:2px;gap:3px}
.reaction{font-size:10px;padding:2px 5px}
.chat-bottom{display:flex;justify-content:space-between;align-items:center;gap:4px;flex-wrap:wrap}
.quoted{padding:4px 6px;margin:4px 0;font-size:10px}
.chat-deleted-row{min-height:22px!important;padding:2px 4px!important;margin:0!important;line-height:1.1}
.chat-media{display:block;margin:5px 0 2px}
.chat-media img{display:block;max-width:100%;max-height:240px;border-radius:9px;border:1px solid #315b7d;object-fit:contain;background:#061422}
.chat-attach{width:38px;min-width:38px;height:42px;border-radius:10px;background:#102b48;display:grid;place-items:center;cursor:pointer;font-size:18px}
.chat-attach input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.composer{align-items:center;padding:10px;gap:6px}
.composer input[type=text]{min-width:0;padding:11px}
.composer>button[type=submit]{height:42px}
@media(max-width:1000px){
  .chat{height:650px}
}
@media(max-width:700px){
  .shell{padding:8px}
  .topbar{top:5px;border-radius:13px;padding:8px 10px}
  .menu-open nav{top:76px;max-height:calc(100vh - 90px);overflow:auto}
  nav a{width:100%;text-align:center;padding:11px}
  .hero{margin-top:10px;padding:24px 18px;min-height:280px}
  .hero h1{font-size:34px}
  .hero p{font-size:15px;line-height:1.45}
  .layout{gap:12px}
  .panel{border-radius:14px}
  .panel-head{padding:16px}
  .news-grid{padding:12px}
  .activity{padding:17px}
  .chat{height:72vh;min-height:520px;max-height:760px}
  .chat-head{padding:12px}
  .chat .messages{padding:8px}
  .chat-bubble{max-width:calc(100% - 40px)}
  .composer{position:sticky;bottom:0;background:#071a2d}
  footer{padding:18px 4px;flex-direction:column;gap:5px}
}

/* =========================================================
   PACK 7.1 — ACCUEIL PLUS COLORÉ
   ========================================================= */
:root{
  --wack-gold:#f2bf42;
  --wack-orange:#f08a34;
  --wack-cyan:#35c7df;
  --wack-violet:#8b5cf6;
  --wack-green:#3ddc97;
  --wack-blue:#0d2740;
}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 20%,rgba(242,191,66,.16),transparent 24%),
    radial-gradient(circle at 18% 85%,rgba(53,199,223,.12),transparent 22%),
    linear-gradient(90deg,rgba(5,16,29,.02),rgba(5,16,29,.22));
}
.hero-copy{
  position:relative;
  z-index:2;
}
.hero h1{
  text-shadow:0 3px 18px rgba(0,0,0,.35);
}
.hero h1 strong,
.hero h1 .accent{
  color:var(--wack-cyan);
}
.hero .eyebrow,
.hero-copy>span{
  color:#68dcff;
}

/* Header/menu */
.topnav{
  background:linear-gradient(180deg,#07192b,#081c31);
  border-color:#284d6a;
}
.topnav a.active,
.topnav a:hover{
  background:linear-gradient(180deg,#123e63,#0c2e4b);
}
.topnav a[href*="events"]{border-bottom:2px solid transparent}
.topnav a[href*="events"]:hover{border-color:var(--wack-cyan)}
.topnav a[href*="loto"]:hover{border-color:var(--wack-violet)}
.topnav a[href*="train"]:hover{border-color:var(--wack-gold)}

/* Main section heading */
.unified-publications-home{
  background:
    radial-gradient(circle at 8% 0%,rgba(53,199,223,.08),transparent 25%),
    radial-gradient(circle at 92% 100%,rgba(242,191,66,.08),transparent 28%),
    #081e34;
}
.unified-publications-home .panel-head{
  border-bottom-color:#294f6b;
}
.unified-publications-home .panel-head h2{
  letter-spacing:.2px;
}

/* Colored cards */
.accent-card{
  position:relative;
  overflow:hidden;
}
.accent-card:before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;
  height:3px;
  opacity:.95;
}
.accent-cyan{
  background:
    radial-gradient(circle at 100% 0%,rgba(53,199,223,.10),transparent 32%),
    #0a223a!important;
  border-color:#2c6884!important;
}
.accent-cyan:before{background:linear-gradient(90deg,var(--wack-cyan),#6de7ff)}
.accent-gold{
  background:
    radial-gradient(circle at 100% 0%,rgba(242,191,66,.10),transparent 32%),
    #0a223a!important;
  border-color:#78602e!important;
}
.accent-gold:before{background:linear-gradient(90deg,var(--wack-gold),var(--wack-orange))}
.accent-orange{
  background:
    radial-gradient(circle at 90% 10%,rgba(240,138,52,.12),transparent 34%),
    #0a223a!important;
  border-color:#7c4f2b!important;
}
.accent-orange:before{background:linear-gradient(90deg,var(--wack-orange),var(--wack-gold))}
.accent-green{
  background:
    radial-gradient(circle at 95% 5%,rgba(61,220,151,.09),transparent 32%),
    #0a223a!important;
  border-color:#2e6554!important;
}
.accent-green:before{background:linear-gradient(90deg,var(--wack-green),#68e8bb)}
.accent-violet{
  background:
    radial-gradient(circle at 100% 0%,rgba(139,92,246,.12),transparent 34%),
    #0a223a!important;
  border-color:#57458b!important;
}
.accent-violet:before{background:linear-gradient(90deg,var(--wack-violet),#b191ff)}

/* Publication labels: no full cyan bars */
.home-publication .tag{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  letter-spacing:.2px;
}
.news-home .tag{
  background:rgba(53,199,223,.12);
  color:#7ce8f8;
  border:1px solid rgba(53,199,223,.42);
}
.event-home .tag{
  background:rgba(242,191,66,.12);
  color:#ffd76b;
  border:1px solid rgba(242,191,66,.42);
}

/* Train */
.activity .icon{
  filter:drop-shadow(0 0 8px rgba(242,191,66,.25));
}
.activity a{
  color:#ffcf5b!important;
}

/* Community */
.online .panel-head span,
.online .online-count{
  color:#6eeab9!important;
}

/* Chat */
.chat-card .chat-head{
  background:linear-gradient(180deg,rgba(92,61,150,.13),rgba(8,30,52,.02));
}
.chat-card .live{
  background:#144d34!important;
  color:#7af4b4!important;
}
.chat-card input:focus,
.chat-card textarea:focus{
  border-color:#8b5cf6!important;
  box-shadow:0 0 0 2px rgba(139,92,246,.12);
}

/* Team message */
.team-message{
  background:
    linear-gradient(90deg,rgba(242,191,66,.13),rgba(107,72,20,.12)),
    #15130e!important;
  border-color:#755c1d!important;
}
.team-message strong{
  color:#ffe08a;
}

/* Overall background subtle variation */
body{
  background:
    radial-gradient(circle at 8% 18%,rgba(53,199,223,.025),transparent 20%),
    radial-gradient(circle at 90% 25%,rgba(139,92,246,.025),transparent 20%),
    #050d16;
}

/* Mobile */
@media(max-width:700px){
  .hero{
    min-height:auto;
  }
  .hero-copy{
    padding-bottom:24px;
  }
  .home-publication .tag{
    font-size:11px;
  }
}

/* =========================================================
   PACK 8 — TABLEAU DE BORD & IDENTITÉ VISUELLE
   ========================================================= */
:root{--gold:#f2bf42;--orange:#f08a34;--cyan:#35c7df;--violet:#8b5cf6;--green:#3ddc97}
body{background:radial-gradient(circle at 12% 22%,rgba(53,199,223,.045),transparent 24%),radial-gradient(circle at 88% 32%,rgba(139,92,246,.04),transparent 24%),#040b15!important}
.dashboard-hero{background:radial-gradient(circle at 78% 28%,rgba(242,191,66,.24),transparent 24%),radial-gradient(circle at 48% 88%,rgba(139,92,246,.15),transparent 27%),linear-gradient(90deg,rgba(4,18,36,.97),rgba(5,24,46,.60),rgba(7,18,38,.35)),url('/assets/images/header-war.webp') center/cover!important;border-color:#426b91!important}
.dashboard-hero h1 em{background:linear-gradient(90deg,#35c7df,#8cecff);-webkit-background-clip:text;background-clip:text;color:transparent}
.notice{background:linear-gradient(90deg,rgba(111,72,12,.52),rgba(37,26,15,.76),rgba(16,18,25,.88))!important;border-color:#8d6923!important;box-shadow:inset 4px 0 0 var(--gold)}
.notification-link,.message-nav-link{position:relative}.notification-link em,.message-nav-link em{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:20px;background:#d9324d;color:#fff;font-size:10px;font-style:normal;display:grid;place-items:center;border:2px solid #07182a}
.today-dashboard{background:radial-gradient(circle at 4% 0,rgba(53,199,223,.08),transparent 25%),radial-gradient(circle at 98% 100%,rgba(242,191,66,.07),transparent 30%),#081d32;border-color:#345e7d}
.today-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:13px}
.today-card{position:relative;border:1px solid #31516d;border-radius:13px;padding:15px;background:#0b233a;display:flex;flex-direction:column;gap:8px;overflow:hidden;min-height:155px}
.today-card:before{content:"";position:absolute;inset:0 0 auto;height:3px}.today-label{font-size:10px;font-weight:900;letter-spacing:1.1px}.today-card h3{margin:2px 0;color:#fff}.today-card p,.today-card small{margin:0;color:#aebfd0}.today-card a{margin-top:auto;color:#63dcff;text-decoration:none;font-weight:900}.train-today{border-color:#755a2a;background:radial-gradient(circle at 100% 0,rgba(242,191,66,.12),transparent 36%),#0b233a}.train-today:before{background:linear-gradient(90deg,var(--gold),var(--orange))}.train-today .today-label,.train-today a{color:#ffd25f}.today-train-role{display:grid;grid-template-columns:85px 1fr;gap:8px}.today-train-role b{color:#98aabd}.today-train-role strong{color:#fff}.news-today{border-color:#2f6b85;background:radial-gradient(circle at 100% 0,rgba(53,199,223,.11),transparent 36%),#0b233a}.news-today:before{background:linear-gradient(90deg,var(--cyan),#70e7f9)}.news-today .today-label{color:#72e7f7}.event-today{border-color:#755a2a;background:radial-gradient(circle at 100% 0,rgba(240,138,52,.10),transparent 36%),#0b233a}.event-today:before{background:linear-gradient(90deg,var(--orange),var(--gold))}.event-today .today-label,.event-time{color:#ffd168}.alerts-today{border-color:#5b4d89;background:radial-gradient(circle at 100% 0,rgba(139,92,246,.13),transparent 36%),#0b233a}.alerts-today:before{background:linear-gradient(90deg,var(--violet),#b69bff)}.alerts-today .today-label{color:#c1aaff}.today-alert-count{display:flex;align-items:baseline;gap:8px}.today-alert-count b{font-size:28px;color:#c6b0ff}.today-alert-count.messages b{color:#68dcff}.today-alert-count span{color:#aebfd0}
#members.panel{background:radial-gradient(circle at 100% 0,rgba(61,220,151,.09),transparent 30%),#081d32!important;border-color:#316553!important;box-shadow:inset 0 3px 0 rgba(61,220,151,.65)}
.home-chat-panel{background:radial-gradient(circle at 100% 0,rgba(139,92,246,.14),transparent 29%),linear-gradient(180deg,#141c36,#071b2f)!important;border-color:#63508d!important;box-shadow:inset 0 3px 0 rgba(139,92,246,.72)}
.home-chat-panel .chat-head{background:linear-gradient(90deg,rgba(139,92,246,.12),rgba(53,199,223,.03))}
@media(max-width:700px){.today-grid{grid-template-columns:1fr;padding:10px}.today-card{min-height:135px}.dashboard-hero{min-height:280px!important;padding:28px 20px!important}}


/* =========================================================
   PACK 8.5 — MP RAPIDE DEPUIS LE CHAT
   ========================================================= */
.chat-member-name{cursor:pointer}
.chat-member-name:hover{
  filter:brightness(1.15);
  text-decoration:underline;
  text-decoration-color:rgba(105,220,255,.58);
  text-underline-offset:3px;
}
.chat-member-popover{
  position:absolute;
  z-index:10000;
  width:230px;
  padding:11px;
  border:1px solid #5c5895;
  border-radius:12px;
  background:
    radial-gradient(circle at 100% 0,rgba(139,92,246,.18),transparent 40%),
    #0a2038;
  color:#eef7ff;
  box-shadow:0 16px 42px rgba(0,0,0,.48);
}
.chat-member-popover-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.chat-member-popover-head img,
.chat-member-popover-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:10px;
  object-fit:cover;
  display:grid;
  place-items:center;
  background:#153753;
  border:1px solid #4a6d91;
}
.chat-member-popover-head strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.chat-member-popover-pm{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:39px;
  border-radius:9px;
  background:linear-gradient(90deg,#177ca6,#704eb8);
  color:white!important;
  text-decoration:none!important;
  font-weight:900;
}
.chat-member-popover-pm:hover{filter:brightness(1.12)}
@media(max-width:600px){
  .chat-member-popover{width:min(240px,calc(100vw - 18px))}
}

/* Pack 9 — entrée Jeux */
.topbar nav a[href="/games/"]:hover{box-shadow:inset 0 -3px 0 #ff5d8f}


/* =========================================================
   PACK 9.2 — CORRECTIF MENU / PSEUDO
   ========================================================= */

/* Le header peut mieux répartir l'espace entre marque et navigation. */
.topbar{
  gap:14px;
}
.topbar .brand{
  flex:0 0 auto;
  min-width:245px;
}
.topbar nav{
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-end;
  gap:6px;
}

/* Les onglets peuvent légèrement se resserrer sans écraser le pseudo. */
.topbar nav a{
  flex:0 0 auto;
  padding-left:10px;
  padding-right:10px;
}

/* Le pseudo reste toujours lisible en entier sur écran desktop. */
.topbar nav .account-link{
  max-width:none!important;
  min-width:max-content!important;
  width:auto!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  flex-shrink:0!important;
}

/* On autorise les libellés longs (Actualités & Événements) à occuper moins de place. */
.topbar nav a[href="/events/"]{
  max-width:145px;
  white-space:normal;
  line-height:1.05;
  text-align:center;
}

/* Sur écrans intermédiaires : légère réduction uniquement de la navigation. */
@media(max-width:1380px) and (min-width:901px){
  .topbar{
    padding-left:12px;
    padding-right:12px;
  }
  .topbar .brand{
    min-width:220px;
  }
  .topbar nav{
    gap:4px;
  }
  .topbar nav a{
    padding-left:8px;
    padding-right:8px;
    font-size:14px;
  }
  .topbar nav .account-link{
    font-size:14px;
  }
}

/* Si vraiment la largeur devient trop petite, on bascule proprement sur le menu mobile
   au lieu de tronquer le pseudo. */
@media(max-width:1100px){
  .topbar .menu-btn{
    display:block!important;
  }
  .topbar nav{
    display:none;
  }
  body.menu-open .topbar nav{
    display:flex;
  }
}


/* =========================================================
   PACK 9.3 — SÉCURITÉ POUR PSEUDOS TRÈS LONGS
   ========================================================= */

/* Pseudos normaux : affichage complet. */
.topbar nav .account-link{
  max-width:260px!important;
}

/* Un pseudo exceptionnellement long ne déforme plus toute la barre. */
@media(min-width:1101px){
  .topbar nav .account-link{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}

/* Sur très grands écrans, on laisse encore plus de place. */
@media(min-width:1500px){
  .topbar nav .account-link{
    max-width:320px!important;
  }
}

/* Pack 9.4 — popup invitations/revanche temps réel */
.game-live-overlay{position:fixed;inset:0;z-index:20000;background:rgba(1,7,14,.72);backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}
.game-live-modal{position:relative;width:min(430px,94vw);border:1px solid #715b9c;border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(255,93,143,.17),transparent 36%),radial-gradient(circle at 0 100%,rgba(53,199,223,.12),transparent 34%),#0a2038;color:#eef7ff;padding:26px;text-align:center;box-shadow:0 25px 80px #000a}
.game-live-close{position:absolute;right:10px;top:9px;border:0;background:transparent;color:#91a5b8;font-size:25px;cursor:pointer}.game-live-avatar{width:74px;height:74px;margin:0 auto 9px;border-radius:17px;display:grid;place-items:center;background:#153954;border:2px solid #7a619e;overflow:hidden;font-size:28px}.game-live-avatar img{width:100%;height:100%;object-fit:cover}.game-live-kicker{font-size:10px;font-weight:900;letter-spacing:1.6px;color:#ff83aa}.game-live-modal h2{margin:6px 0 8px}.game-live-modal p{color:#b7c7d5;line-height:1.45}.game-live-modal small{color:#899fb2}.game-live-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.game-live-actions button{border:0;border-radius:10px;padding:12px;font-weight:900;color:#fff;cursor:pointer}.game-live-actions .accept{background:#24774a}.game-live-actions .decline{background:#8a3042}@media(max-width:520px){.game-live-actions{grid-template-columns:1fr}}

/* Pack 11.3 — invitations de jeu disponibles partout sur le portail */
.game-live-modal p b{color:#ffd35a}

/* Pack 11.7 — signature du concepteur */
.wack-jl-signature{width:100%;margin:22px auto 10px;padding:10px 14px;text-align:center;color:#7f91a6;font-size:12px;letter-spacing:.2px}
.wack-jl-signature strong{color:#d8e8f7;font-weight:900}


/* Chat — membres connectés */
.home-chat-panel{position:sticky}
.chat-online-toggle{border:1px solid #35658b;background:linear-gradient(180deg,#173f5c,#102d45);color:#dff7ff;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px 0 #ffffff12}
.chat-online-toggle:hover,.chat-online-toggle[aria-expanded="true"]{border-color:#4fd8ff;background:linear-gradient(180deg,#1d5778,#123a58)}
.chat-online-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin:0 2px;border-radius:999px;background:#25bf6a;color:#fff;font-size:11px;box-shadow:0 0 10px #25bf6a55}
.chat-online-panel{position:absolute;z-index:25;top:68px;left:10px;right:10px;max-height:330px;background:#081a2d;border:1px solid #416b91;border-radius:13px;box-shadow:0 18px 40px #000b;overflow:hidden}
.chat-online-panel[hidden]{display:none}
.chat-online-panel-head{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid #284766;background:linear-gradient(90deg,#172b4b,#10243b)}
.chat-online-panel-head b{font-size:12px;color:#fff}
.chat-online-close{border:0;background:transparent;color:#a9c5da;font-size:20px;line-height:1;cursor:pointer}
.chat-online-list{max-height:280px;overflow-y:auto;padding:7px;display:grid;gap:5px}
.chat-online-list::-webkit-scrollbar{width:7px}.chat-online-list::-webkit-scrollbar-thumb{background:#315a7d;border-radius:8px}
.chat-online-user{width:100%;display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #264969;background:#0e2741;color:#fff;border-radius:10px;padding:8px;cursor:pointer}
.chat-online-user:hover{background:#153653;border-color:#3b739e}
.chat-online-user.self{cursor:default;opacity:.82}
.chat-online-user img,.chat-online-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:9px;object-fit:cover;border:1px solid #456b8c}
.chat-online-avatar{display:grid;place-items:center;background:#173b60;font-weight:900}
.chat-online-user>span{min-width:0;display:grid;gap:2px}.chat-online-user b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-online-user small{font-size:9px;color:#86a4bb}
.chat-online-user i{width:9px;height:9px;border-radius:50%;background:#35e47c;box-shadow:0 0 9px #35e47c;margin-left:auto;flex:0 0 9px}
.chat-online-user.wack b{color:#ff6677}.chat-online-user.external b{color:#67adff}.chat-online-empty{padding:12px;color:#9fb2ca;font-size:11px;text-align:center}
@media(max-width:600px){.chat-online-toggle{padding:7px 8px}.chat-online-panel{top:62px;left:7px;right:7px}}
