  /* MODE DISCRET — faux tableur plein écran (boss key « L ») */
  #fakeExcel{ display:none; position:fixed; inset:0; z-index:100000; background:#f3f2f1;
    font-family:"Segoe UI","Calibri",Arial,sans-serif; color:#333; flex-direction:column; user-select:none }
  #fakeExcel.show{ display:flex }
  #feTitle{ background:#217346; color:#fff; font-size:13px; padding:5px 12px; text-align:center; font-weight:600 }
  #feRibbon{ background:#f3f2f1; border-bottom:1px solid #d0cfce; padding:4px 8px; display:flex; gap:2px; flex-wrap:wrap }
  .fe-tab{ font-size:12.5px; color:#444; padding:4px 12px; border-radius:3px 3px 0 0; cursor:default }
  .fe-tab.active{ color:#217346; border-bottom:2px solid #217346; font-weight:600 }
  #feFormula{ display:flex; align-items:center; gap:6px; background:#fff; border-bottom:1px solid #d0cfce; padding:3px 6px }
  .fe-namebox{ min-width:60px; font-size:12px; border:1px solid #d0cfce; padding:2px 6px; background:#fff }
  .fe-fx{ font-style:italic; color:#888; font-size:12px; padding:0 4px }
  .fe-fbar{ flex:1; border:1px solid #d0cfce; height:20px; background:#fff }
  #feGrid{ flex:1; overflow:auto; background:#fff; user-select:text }
  #feGrid table{ border-collapse:collapse; font-size:12px; table-layout:fixed }
  #feGrid th, #feGrid td{ border:1px solid #e1e1e1; height:20px; padding:1px 5px; white-space:nowrap; overflow:hidden }
  #feGrid th{ background:#f3f2f1; color:#666; font-weight:600; text-align:center; position:sticky; top:0 }
  #feGrid th.fe-rownum{ left:0; z-index:2; width:34px; text-align:center }
  #feGrid td.fe-rownum{ background:#f3f2f1; color:#666; text-align:center; font-weight:600; position:sticky; left:0; width:34px }
  #feGrid td{ width:88px; background:#fff }
  #feGrid td.fe-num{ text-align:right; font-variant-numeric:tabular-nums }
  #feGrid td.fe-head{ font-weight:600 }
  #feGrid td.fe-sel{ outline:2px solid #217346; outline-offset:-2px }
  #feGrid td[contenteditable]{ cursor:cell }
  #feGrid td[contenteditable]:focus{ outline:2px solid #217346; outline-offset:-2px; background:#fff; caret-color:#217346 }
  #feStatus{ display:flex; justify-content:space-between; align-items:center; background:#f3f2f1;
    border-top:1px solid #d0cfce; font-size:12px; color:#555; padding:2px 10px }
  .fe-sheets{ display:flex; gap:2px }
  .fe-sheet{ padding:2px 12px; border:1px solid #d0cfce; border-bottom:none; background:#e8e8e8 }
  .fe-sheet.active{ background:#fff; color:#217346; font-weight:600 }
  /* écran d'introduction : but du jeu + mini-lore, affiché à la 1re arrivée */
  #introLore{ display:none; position:fixed; inset:0; z-index:150; align-items:center; justify-content:center;
    background:rgba(6,5,12,.82); padding:16px; overflow:auto }
  #introLore.show{ display:flex }
  #introLore .il-card{ max-width:560px; width:100%; background:linear-gradient(160deg,#1b1826,#100e18);
    border:1px solid #4a3f6b; border-radius:14px; padding:22px 26px; box-shadow:0 12px 48px rgba(0,0,0,.6);
    color:#e8e4f2; font-family:inherit }
  #introLore h2{ margin:0 0 12px; font-size:1.35rem; color:#f0d98a; text-align:center; letter-spacing:.5px }
  #introLore .il-lore{ font-size:.95rem; line-height:1.5; color:#c9c2dd; margin:0 0 16px; font-style:italic }
  #introLore .il-lore b{ color:#e8e4f2; font-style:normal }
  #introLore .il-goals{ display:flex; flex-direction:column; gap:9px; margin-bottom:16px }
  #introLore .il-goal{ display:flex; gap:11px; align-items:flex-start; font-size:.9rem; line-height:1.4 }
  #introLore .il-goal>span{ font-size:1.2rem; flex-shrink:0; width:1.6em; text-align:center }
  #introLore .il-goal b{ color:#f0d98a }
  #introLore .il-tip{ font-size:.82rem; color:#9a90b8; background:rgba(255,255,255,.04);
    border:1px solid #35304a; border-radius:8px; padding:8px 11px; margin:0 0 16px }
  #introLore .il-tip b{ color:#c9c2dd }
  #introLore #ilStart{ display:block; width:100%; padding:11px; font-size:1rem; font-weight:600; cursor:pointer;
    color:#160f08; background:linear-gradient(180deg,#f0d98a,#d9b84f); border:none; border-radius:9px;
    box-shadow:0 3px 12px rgba(217,184,79,.35) }
  #introLore #ilStart:hover{ filter:brightness(1.08) }
  /* CARTE PLEIN ÉCRAN (touche M) : parcours libre de la zone découverte, rendu pixelisé */
  #bigMap{ display:none; position:fixed; inset:0; z-index:140; background:rgba(6,5,12,.94); flex-direction:column }
  #bigMap.show{ display:flex }
  #bmBar{ display:flex; align-items:center; gap:14px; padding:8px 14px; background:#141019;
    border-bottom:1px solid #34304a; color:#e8e4f2; font-size:.85rem }
  #bmTitle{ font-weight:600; color:#f0d98a }
  #bmHint{ color:#9a90b8; font-size:.78rem; flex:1 }
  #bmClose{ background:#2a2438; color:#e8e4f2; border:1px solid #4a4468; border-radius:6px;
    width:30px; height:26px; cursor:pointer; font-size:.9rem;
    display:flex; align-items:center; justify-content:center; padding:0; line-height:1 }
  #bmClose:hover{ background:#3a3450 }
  #bigMapCanvas{ flex:1; width:100%; min-height:0; display:block; cursor:grab; image-rendering:pixelated }
  #bigMapCanvas.dragging{ cursor:grabbing }
  #log .last{color:var(--ink)}
  /* nom d'un loot ramassé : coloré selon sa QUALITÉ, survol = détail
     (pointer-events:auto ré-active le survol malgré le log click-through) */
  .loot-ref{ font-weight:bold; cursor:help; pointer-events:auto;
             text-decoration:underline dotted; text-underline-offset:2px }
