  /* ===================== NOTIFICATIONS : BANNIÈRE ===================== */
  /* Une seule bannière, en haut au centre, au-dessus des fenêtres et du guide ; les clics passent au travers sauf si elle ouvre quelque chose. */
  html body #toast-wrap{position:fixed; top:calc(env(safe-area-inset-top,0px) + 10px + var(--bn-top,0px)); bottom:auto; left:50%; right:auto; transform:translateX(-50%); width:min(420px, calc(100vw - 20px)); max-width:none; display:block; z-index:605; pointer-events:none;}
  .toast.bn{display:flex; align-items:center; gap:10px; box-sizing:border-box; width:100%; padding:9px 14px 9px 10px; border-radius:18px; background:rgba(22,12,19,.84); -webkit-backdrop-filter:blur(14px) saturate(1.3); backdrop-filter:blur(14px) saturate(1.3); color:var(--text); border:1px solid rgba(227,105,143,.32); box-shadow:0 10px 28px rgba(0,0,0,.5), 0 0 16px rgba(227,105,143,.16); font-size:.82rem; font-weight:600; line-height:1.3; opacity:0; transform:translateY(-18px); transition:opacity .2s ease, transform .24s cubic-bezier(.2,.9,.3,1.1); pointer-events:none;}
  .toast.bn.show{opacity:1; transform:none;}
  .toast.bn.hide{opacity:0; transform:translateY(-14px); transition:opacity .18s ease, transform .2s ease;}
  .toast.bn.click{pointer-events:auto; cursor:pointer;}
  .toast.bn.click:hover{border-color:rgba(227,105,143,.6);}
  .toast.bn.bump{animation:bnBump .28s ease;} @keyframes bnBump{40%{transform:scale(1.03)}}
  .bn-ic{flex:none; width:34px; height:34px; border-radius:10px; display:grid; place-items:center; font-size:1.15rem; background:rgba(227,105,143,.14); border:1px solid rgba(227,105,143,.22);}
  .bn-ic svg{width:20px; height:20px;}
  .bn-tx{flex:1; min-width:0; display:flex; flex-direction:column; gap:1px;}
  .bn-t{font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--accent-strong); font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .bn-n{font-style:normal; color:#fff; background:var(--accent); border-radius:999px; padding:0 6px; margin-left:4px; letter-spacing:0;}
  .bn-m{display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; color:var(--text);}
  .bn-go{flex:none; font-size:1.3rem; line-height:1; color:var(--text-muted);}
  /* Priorités : discrète → marquée */
  .toast.bn.p-important{border-color:rgba(227,105,143,.5); box-shadow:0 10px 28px rgba(0,0,0,.5), 0 0 22px rgba(227,105,143,.26);}
  .toast.bn.p-major{border-color:var(--accent); box-shadow:0 12px 30px rgba(0,0,0,.55), 0 0 30px rgba(227,105,143,.4);} .toast.bn.p-major.show{animation:bnPop .34s ease;}
  .toast.bn.p-exceptional{border-color:#F2C14E; background:linear-gradient(135deg,rgba(40,26,8,.9),rgba(26,12,20,.88)); box-shadow:0 12px 32px rgba(0,0,0,.55), 0 0 30px rgba(242,193,78,.4);} .toast.bn.p-exceptional .bn-t{color:#F2C14E;} .toast.bn.p-exceptional .bn-ic{background:rgba(242,193,78,.16); border-color:rgba(242,193,78,.35);} .toast.bn.p-exceptional.show{animation:bnPop .4s ease;}
  .toast.bn.p-error{border-color:rgba(255,90,90,.55); box-shadow:0 10px 28px rgba(0,0,0,.5), 0 0 16px rgba(255,90,90,.2);} .toast.bn.p-error .bn-t{color:#FF8A8A;} .toast.bn.p-error .bn-ic{background:rgba(255,90,90,.12); border-color:rgba(255,90,90,.3);}
  .toast.bn.levelup{background:linear-gradient(135deg,rgba(90,24,50,.92),rgba(34,12,26,.9)); color:#fff;}
  @keyframes bnPop{0%{opacity:0; transform:translateY(-18px) scale(.97)}60%{opacity:1; transform:translateY(2px) scale(1.02)}100%{transform:none}}
  @media (max-width:430px){ .toast.bn{padding:8px 12px 8px 8px; gap:8px; font-size:.78rem;} .bn-ic{width:30px; height:30px; font-size:1rem;} }
  @media (prefers-reduced-motion:reduce){ .toast.bn, .toast.bn.hide{transform:none !important; transition:opacity .15s ease;} .toast.bn.show{animation:none !important;} }
