/* ==========================================================================
   NORDERLANDS — Pastilles de navigation (composant partagé)
   Boutons flottants Accueil + Chapitres avec cascade.
   Inclus sur chaque page d'étape ; le contenu est généré par nav-pastilles.js
   selon window.NL_STEP (débloque les étapes 1..N).
   © 2026 Norderlands.
   ========================================================================== */

#nl-ui{position:fixed;left:18px;bottom:64px;z-index:99999;display:flex;flex-direction:column;
 align-items:center;gap:12px;font-family:'Space Mono',monospace;}
#nl-ui .nl-fab{width:54px;height:54px;border-radius:50%;background:rgba(8,11,22,.94);
 border:1px solid rgba(120,150,255,.30);color:#cfe6ff;display:flex;align-items:center;justify-content:center;
 cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:.25s;padding:0;
 text-decoration:none;}
#nl-ui .nl-fab:hover{border-color:#56e1ff;color:#56e1ff;box-shadow:0 0 18px rgba(86,225,255,.45);}
#nl-ui .nl-fab svg{width:23px;height:23px;}
#nl-chapbtn.active{border-color:#ffce6b;color:#ffce6b;box-shadow:0 0 22px rgba(255,206,107,.55);transform:rotate(90deg);}
#nl-ui .nl-fab.nl-disabled{opacity:.4;cursor:not-allowed;pointer-events:none;border-color:rgba(120,150,255,.18);}
#nl-ui .nl-fab.nl-disabled:hover{border-color:rgba(120,150,255,.18);color:#cfe6ff;box-shadow:none;}

#nl-chaplist{display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;}
#nl-chaplist .nl-chap{width:50px;height:50px;border-radius:50%;background-size:cover;background-position:center;
 border:1px solid rgba(120,150,255,.32);position:relative;display:flex;align-items:flex-end;justify-content:center;
 opacity:0;transform:translateY(16px) scale(.5);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.8,.3,1);
 text-decoration:none;}
#nl-chaplist .nl-chap .n{font-size:9px;letter-spacing:.06em;color:#fff;background:rgba(0,0,0,.62);
 border-radius:8px;padding:1px 6px;margin-bottom:-7px;}
#nl-chaplist .nl-chap.current{border-color:#56e1ff;box-shadow:0 0 14px rgba(86,225,255,.5);}
#nl-chaplist .nl-chap.locked{filter:grayscale(.7) brightness(.55);cursor:not-allowed;}

body.nl-open #nl-chaplist{pointer-events:auto;}
body.nl-open #nl-chaplist .nl-chap{opacity:1;transform:translateY(0) scale(1);}
