  /* ---------- Journal / infobulle ---------- */
  /* z-index 12 : le journal reste LISIBLE par-dessus l'écran de fin de partie /
     de décès (overlay #victory à 10), sous les vraies modales (boutique 14…) */
  #logWrap{ position:absolute; left:12px; bottom:12px; pointer-events:none; z-index:12 }
  #log{
    max-width:300px;
    font-size:.8rem; color:var(--ink-dim);
    background:rgba(20,16,24,.85);
    border:1px solid var(--panel-edge);
    border-radius:6px; padding:8px 12px;
    line-height:1.5;
    /* PARCOURABLE : molette pour remonter l'historique, survol des loots OK */
    pointer-events:auto;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#5c4a78 #1a1520;
  }
  #log::-webkit-scrollbar{ width:7px }
  #log::-webkit-scrollbar-track{ background:#1a1520; border-radius:4px }
  #log::-webkit-scrollbar-thumb{ background:#5c4a78; border-radius:4px }
  /* commandes du journal : zoom − / + et réduire — pastilles nettes et visibles */
  #logCtl{ display:flex; gap:5px; margin-bottom:4px;
           pointer-events:auto; opacity:.78; transition:opacity .15s }
  #logCtl:hover{ opacity:1 }
  #logCtl button{
    width:26px; height:24px; line-height:1; padding:0;
    display:inline-flex; align-items:center; justify-content:center;
    background:rgba(24,19,30,.9); border:1px solid var(--panel-edge); border-radius:6px;
    color:var(--ink); font-size:1.05rem; font-weight:bold; cursor:pointer;
    box-shadow:0 1px 3px rgba(0,0,0,.45);
    transition:background .12s, border-color .12s, color .12s, transform .05s;
  }
  #logCtl button:hover{ background:var(--accent-dim,#5c4a78); border-color:var(--accent,#e0a83c); color:#fff }
  #logCtl button:active{ transform:translateY(1px) }
  #logCtl button:disabled{ opacity:.3; cursor:default }
  /* onglets du journal : Général / Combat / Loot / Événement — sur leur PROPRE
     rangée, avec retour à la ligne, pour ne jamais se chevaucher */
  #logTabs{ display:flex; flex-wrap:wrap; gap:4px; margin-bottom:4px; max-width:300px;
            pointer-events:auto; opacity:.55; transition:opacity .15s }
  #logTabs:hover{ opacity:1 }
  .logTab{
    width:auto; height:auto; line-height:1.1; padding:3px 9px;
    background:rgba(20,16,24,.85); border:1px solid var(--panel-edge); border-radius:999px;
    color:var(--ink-dim); font-size:.72rem; font-weight:bold; cursor:pointer;
    white-space:nowrap;
  }
  .logTab:hover{ border-color:var(--target); color:var(--ink) }
  .logTab.active{ background:var(--accent-dim,#5c4a78); color:var(--ink); border-color:var(--accent,#e0a83c) }
  /* saisie de messages du joueur (canal Chat) */
  #logChatRow{ display:flex; gap:4px; margin-top:4px; max-width:300px; pointer-events:auto }
  #logChatInput{
    flex:1; min-width:0; font:inherit; font-size:.76rem; color:var(--ink);
    background:rgba(20,16,24,.9); border:1px solid var(--panel-edge); border-radius:6px;
    padding:4px 8px; outline:none;
  }
  #logChatInput:focus{ border-color:var(--accent,#e0a83c) }
  #logChatSend{
    flex:0 0 auto; width:28px; border:1px solid var(--panel-edge); border-radius:6px;
    background:rgba(24,19,30,.9); color:var(--ink); font-weight:bold; cursor:pointer;
  }
  #logChatSend:hover{ background:var(--accent-dim,#5c4a78); border-color:var(--accent,#e0a83c); color:#fff }
  .chat-line{ color:#8fd0e0 }
  .chat-line b{ color:#bfe4f0 }

  /* ---------- Bouton dédié « journal à la demande » (mobile uniquement) ----------
     Caché par défaut (desktop garde son propre bouton ⌄ dans #logCtl, comportement
     historique inchangé) — affiché et positionné par 13-mobile.css. Reste TOUJOURS
     visible, lui, quel que soit l'état ouvert/fermé de #logWrap (voir applyLogSize(),
     js/42) : c'est le seul moyen de rouvrir le journal une fois replié. */
  #logBadge{
    display:none; position:absolute; z-index:13;
    width:36px; height:36px; padding:0; border-radius:50%;
    background:rgba(20,16,24,.85); border:1px solid var(--panel-edge);
    color:var(--ink); font-size:1.1rem; cursor:pointer;
    align-items:center; justify-content:center;
    box-shadow:0 2px 8px rgba(0,0,0,.45);
  }
  #logBadge.open{ background:var(--accent-dim,#5c4a78); border-color:var(--accent,#e0a83c) }
  /* pastille rouge : signale une nouvelle ligne pendant que le journal est replié */
  #logBadge::after{
    content:""; position:absolute; top:1px; right:1px; width:10px; height:10px;
    border-radius:50%; background:#e0483c; border:1px solid rgba(20,16,24,.9);
    display:none;
  }
  #logBadge.has-new::after{ display:block; }
