/* Ajouts postérieurs au bloc responsive, gardés à leur place dans la cascade :
   bulle du glossaire, encart « plus simple », sélecteur de filière, bouton ⚙, Réglages. */
.gl { border-bottom: 1px dotted var(--stamp); cursor: help; text-decoration: none; }
.gl:hover { background: rgba(196, 63, 43, .08); }
.gltip { position: absolute; z-index: 60; background: var(--card); color: var(--ink); border-radius: 4px; box-shadow: 0 12px 34px rgba(0, 0, 0, .35), 0 0 0 1px rgba(var(--ink-rgb), .12); padding: 12px 14px; font-size: 14px; line-height: 1.5; }
.gltip[hidden] { display: none; }
.gltip .glt { font-family: var(--disp); font-size: 15px; letter-spacing: .04em; margin-bottom: 4px; }
/* Le titre de la bulle est le mot SURVOLÉ ; quand la fiche en couvre une grappe (@ManyToOne → « association »),
   cette ligne dit dans quelle fiche on est tombé — sinon le titre semble définir le mot survolé. */
.gltip .glin { font-size: 12px; color: var(--ink-dim); margin: -2px 0 6px; }
.gltip .glin b { font-family: var(--disp); letter-spacing: .03em; font-weight: 400; color: var(--ink); }
.gltip .gls { margin-bottom: 6px; }
.gltip .code { margin: 6px 0; font-size: 12.5px; max-height: 160px; overflow: auto; }
.gltip .gll { display: block; width: 100%; text-align: left; margin-top: 8px; padding: 6px 8px; font-family: var(--disp); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--stamp); background: transparent; border: 1px solid rgba(196, 63, 43, .35); border-radius: 3px; cursor: pointer; }
.gltip .gll:hover { background: rgba(196, 63, 43, .08); }
.simple { border-left: 3px solid var(--stamp); background: rgba(var(--ink-rgb), .04); padding: 10px 14px; margin: 0 0 14px; }
.simple .lbl { font-family: var(--disp); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); display: block; margin-bottom: 6px; }
.trk { font-family: var(--disp); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--fg); background: transparent; border: 1px solid rgba(233, 228, 212, .25); border-radius: 3px; padding: 6px 10px; margin-left: 14px; cursor: pointer; }
.trk option { color: #1d1a15; }
.trk[hidden] { display: none; }
.gear { font-size: 15px; line-height: 1; color: var(--fg); background: transparent; border: 1px solid rgba(233, 228, 212, .25); border-radius: 3px; padding: 5px 9px; margin-left: 8px; cursor: pointer; }
.gear:hover, .gear.on { border-color: var(--cream); color: var(--cream); }
/* thème (02/10) : le bouton lune / soleil de l'en-tête, entre la filière et ⚙ — au trait, comme les icônes de la barre
   d'onglets ; il bascule clair ↔ sombre, les Réglages offrent en plus « Système » */
.thm { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 29px; color: var(--fg); background: transparent; border: 1px solid rgba(233, 228, 212, .25); border-radius: 3px; margin-left: 8px; cursor: pointer; vertical-align: middle; }
.thm svg { width: 16px; height: 16px; }
.thm:hover { border-color: var(--cream); color: var(--cream); }
/* le sélecteur de thème d'éditeur : dans la barre de chaque éditeur (sur le carton) et dans les Réglages (sur le tapis) */
.edthm { display: inline-flex; align-items: center; gap: 6px; font-family: var(--disp); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); }
.edthm select { font: inherit; font-family: var(--sans); font-size: 13px; letter-spacing: 0; text-transform: none; color: var(--ink); background: var(--card-in); border: 1px solid var(--card-edge); border-radius: 3px; padding: 5px 8px; max-width: 220px; cursor: pointer; }
.edthm select:focus { outline: none; border-color: var(--ink-dim); }
.edthm.reg { color: var(--fg-dim); }
.edthm.reg select { color: var(--fg); background: rgba(0, 0, 0, .25); border-color: var(--baize-line); }
.edthm.reg select option { color: #1d1a15; }
/* l'aperçu du thème d'éditeur dans les Réglages : une feuille d'éditeur courte, en lecture seule */
.thmprev { flex: 1 1 100%; padding: 10px 12px; }
.thmprev > .CodeMirror .CodeMirror-scroll { min-height: 0; }
.thmprev .editor { min-height: 0; height: 240px; }
@media (max-width: 720px) { .edthm > span { display: none; } .edthm select { max-width: 150px; } }
.reg { max-width: 900px; }
.reg section { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--baize-line); }
.reg section:first-of-type { border-top: 0; padding-top: 0; }
.reg h2 { font-size: 20px; }
.reg .row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.reg .row > span:first-child { flex: 1 1 320px; font-size: 14px; }
.reg .row small { display: block; color: var(--fg-faint); font-size: 12px; margin-top: 2px; }
.reg .hint { font-size: 13px; color: var(--fg-dim); margin-left: 6px; }
.reg .inp { min-width: 0; width: 170px; }
.reg form.inline { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
