/* Compagnon D&D 5e — version 11.1 */
/* ============ MODE SESSION ============ */
  .session-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
  .btn-ghost { background:transparent; border:1px solid var(--border-aged); color:var(--ink-soft); font-family:'Cinzel',serif; font-size:13px; padding:6px 12px; border-radius:6px; cursor:pointer; }
  .btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
  .btn-ghost.small, .btn-primary.small, .btn-roll.small { font-size:11px; padding:3px 8px; }
  .btn-primary { background:var(--blood); border:1px solid var(--blood-dark); color:#f7f1e0; font-family:'Cinzel',serif; font-size:13px; padding:7px 14px; border-radius:6px; cursor:pointer; }
  .btn-primary:hover { background:var(--blood-dark); }
  .session-import { max-width:560px; }
  .import-row { margin-top:10px; }

  .smart-toggle { display:flex; align-items:center; gap:12px; flex-wrap:wrap; background:var(--parchment-dark); border:1px solid var(--border-aged); border-radius:8px; padding:8px 14px; margin-bottom:14px; font-size:13px; }
  .pill { border:none; border-radius:12px; padding:3px 12px; font-family:'Cinzel',serif; font-size:12px; cursor:pointer; color:#fff; }
  .pill.on { background:var(--crit-green); }
  .pill.off { background:#8a8172; }
  .adv-picker { margin-left:auto; display:flex; gap:10px; align-items:center; }
  .adv-picker label { cursor:pointer; }

  .session-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; align-items:start; }
  @media (max-width:1100px){ .session-grid { grid-template-columns:1fr; } }
  .session-col { display:flex; flex-direction:column; gap:14px; }
  .sess-card { background:var(--card); border:1px solid var(--border-aged); border-radius:10px; padding:14px; box-shadow:0 1px 3px rgba(60,45,20,.08); }
  .sess-h { font-family:'Cinzel',serif; font-size:14px; color:var(--blood); border-bottom:1px solid var(--border-aged); padding-bottom:6px; margin-bottom:10px; }

  .hp-row { display:flex; align-items:center; gap:8px; margin-bottom:10px; }
  .hp-input { width:70px; text-align:center; font-size:18px; font-weight:bold; padding:4px; border:1px solid var(--border-aged); border-radius:6px; background:var(--parchment); }
  .death-saves { border-top:1px dashed var(--border-aged); padding-top:8px; }
  .ds-line { display:flex; align-items:center; gap:8px; margin:4px 0; font-size:13px; }
  .ds-line span:first-child { width:56px; }
  .ds-dot { width:15px; height:15px; border-radius:50%; border:2px solid var(--ink-soft); display:inline-block; }
  .ds-succ { background:var(--crit-green); border-color:var(--crit-green); }
  .ds-fail { background:var(--fail-red); border-color:var(--fail-red); }
  .ds-btns { margin-top:8px; display:flex; gap:8px; align-items:center; }

  .abil-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .abil-box { background:var(--parchment); border:1px solid var(--border-aged); border-radius:8px; text-align:center; padding:6px; cursor:pointer; transition:all .12s; }
  .abil-box:hover { border-color:var(--gold); transform:translateY(-1px); box-shadow:0 2px 6px rgba(176,141,47,.25); }
  .abil-name { font-family:'Cinzel',serif; font-size:11px; color:var(--ink-soft); }
  .abil-score { font-size:18px; font-weight:bold; }
  .abil-mod { font-size:13px; color:var(--gold); font-weight:bold; }
  .saves-row { margin-top:10px; font-size:13px; display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
  .mini-roll, .skill-roll { background:var(--parchment); border:1px solid var(--border-aged); border-radius:6px; padding:3px 8px; font-size:12px; cursor:pointer; font-family:inherit; }
  .mini-roll:hover, .skill-roll:hover { border-color:var(--gold); }
  .skills-list { display:flex; flex-direction:column; gap:3px; }
  .skill-roll { display:flex; justify-content:space-between; text-align:left; }
  .skill-roll.prof { border-color:var(--gold); background:#f7efd8; font-weight:600; }
  .sk-mod { color:var(--gold); font-weight:bold; }

  .session-proficiency-box { display:grid; gap:10px; }
  .session-mastery-section { display:grid; gap:7px; }
  .session-mastery-title {
    color:var(--ink-soft); font-family:'Cinzel',serif; font-size:11px;
    font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  }
  .session-language-group { display:grid; gap:4px; }
  .session-language-group > span { color:var(--ink-soft); font-size:11px; font-style:italic; }
  .session-chip-list { display:flex; flex-wrap:wrap; gap:5px; }
  .session-chip {
    display:inline-flex; align-items:center; min-height:24px; padding:3px 8px;
    border:1px solid var(--border-aged); border-radius:999px;
    background:var(--parchment); color:var(--ink); font-size:11px; line-height:1.2;
  }
  .session-chip.language { border-color:rgba(147,42,42,.34); background:#fff8e8; }
  .session-language-check { display:grid; gap:4px; font-size:12px; font-weight:700; }
  .session-language-check select {
    width:100%; padding:7px 8px; border:1px solid var(--border-aged);
    border-radius:6px; background:var(--parchment); color:var(--ink); font:inherit;
  }
  .session-language-result {
    display:grid; gap:2px; padding:8px 10px; border:1px solid;
    border-radius:6px; font-size:11px;
  }
  .session-language-result.understood { border-color:#6d9a6b; background:#edf7eb; color:#315e35; }
  .session-language-result.unknown { border-color:#b47171; background:#fff0ee; color:#7d2929; }
  .session-language-result span { color:inherit; opacity:.84; }
  .session-mastery-more { border-top:1px dashed var(--border-aged); padding-top:8px; }
  .session-mastery-more summary {
    color:var(--blood); cursor:pointer; font-size:12px; font-weight:700;
  }
  .session-mastery-more .session-mastery-title { margin:9px 0 5px; }

  .atk-row { border-bottom:1px dashed var(--border-aged); padding:8px 0; }
  .atk-row:last-child { border-bottom:none; }
  .atk-main { display:flex; flex-direction:column; gap:1px; }
  .atk-name { font-weight:bold; font-family:'Cinzel',serif; font-size:13px; }
  .atk-dmg { font-size:12px; color:var(--ink-soft); }
  .atk-traits { font-size:11px; color:var(--gold); font-style:italic; }
  .atk-btns { display:flex; gap:6px; margin-top:5px; }
  .btn-roll { background:var(--blood); color:#f7f1e0; border:none; border-radius:6px; padding:5px 10px; font-family:'Cinzel',serif; font-size:12px; cursor:pointer; }
  .btn-roll:hover { background:var(--blood-dark); }
  .btn-roll.dmg { background:#7a5a1e; }
  .btn-roll.crit { background:var(--crit-green); }

  .purse-row { display:flex; gap:10px; }
  .purse-row label { font-size:13px; font-family:'Cinzel',serif; }
  .purse-row input { width:64px; padding:4px; text-align:center; border:1px solid var(--border-aged); border-radius:6px; background:var(--parchment); }
  .purse-foot { display:flex; justify-content:space-between; align-items:center; margin-top:8px; }

  .loot-row { display:grid; grid-template-columns:1fr 48px 60px auto 24px; gap:5px; align-items:center; margin-bottom:5px; }
  .loot-row input { padding:3px 5px; border:1px solid var(--border-aged); border-radius:5px; background:var(--parchment); font-size:12px; font-family:inherit; }
  .loot-desc { grid-column:1 / -1; }
  .loot-valfmt { font-size:11px; color:var(--ink-soft); }
  .loot-del { background:transparent; border:none; color:var(--blood); cursor:pointer; font-size:14px; }
  .loot-foot { display:flex; justify-content:space-between; align-items:center; margin-top:8px; }

  .dice-log { max-height:340px; overflow-y:auto; font-size:12px; }
  .log-line { padding:3px 6px; border-bottom:1px solid rgba(201,185,138,.4); font-family:'Alegreya',serif; }
  .log-line.crit { background:var(--crit-green-bg); color:var(--crit-green); font-weight:600; }
  .log-line.fail { background:var(--fail-red-bg); color:var(--fail-red); font-weight:600; }
  .log-t { color:var(--ink-soft); font-size:11px; margin-right:5px; }
  .notes-area { width:100%; min-height:200px; border:1px solid var(--border-aged); border-radius:8px; background:var(--parchment); padding:10px; font-family:'Alegreya',serif; font-size:14px; resize:vertical; }
  .sess-actions { margin-top:16px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

  /* ============ VOLET DE DÉS RÉTRACTABLE ============ */
  .dice-drawer { position:fixed; top:0; left:50%; transform:translateX(-50%) translateY(-100%); z-index:200; transition:transform .25s ease; width:min(560px,92vw); }
  .dice-drawer.open { transform:translateX(-50%) translateY(0); }
  .drawer-tab { position:absolute; bottom:-32px; left:50%; transform:translateX(-50%); background:var(--blood); color:#f7f1e0; border:1px solid var(--blood-dark); border-top:none; border-radius:0 0 10px 10px; padding:6px 22px; font-family:'Cinzel',serif; font-size:13px; cursor:pointer; box-shadow:0 3px 8px rgba(60,45,20,.3); }
  .drawer-body { background:var(--card); border:2px solid var(--gold); border-top:none; border-radius:0 0 14px 14px; padding:14px 18px; box-shadow:0 6px 18px rgba(60,45,20,.35); }
  .qr-controls { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; }
  .qr-controls label { font-family:'Cinzel',serif; font-size:12px; display:flex; flex-direction:column; gap:3px; }
  .qr-controls input, .qr-controls select { padding:5px; border:1px solid var(--border-aged); border-radius:6px; background:var(--parchment); width:64px; }
  .qr-quick { display:flex; gap:6px; margin-top:10px; flex-wrap:wrap; }
  .qd { background:var(--parchment); border:1px solid var(--border-aged); border-radius:6px; padding:5px 10px; cursor:pointer; font-family:'Cinzel',serif; font-size:12px; }
  .qd:hover { border-color:var(--gold); color:var(--gold); }
  .qr-last { margin-top:10px; font-size:13px; color:var(--ink-soft); border-top:1px dashed var(--border-aged); padding-top:8px; }
