/* glossary.css — /knowledge-base/glossary only. Cool temp, tokens throughout.
   The page reuses .cn-page / .cn-toolbar / .hub-chip from kb.css and hub.css; only
   the entry list, the jump bar, the search field and the precision block are new. */

/* ---- toolbar additions: the persistent filter + the alphabet ---- */
.gl-search{ display:inline-flex; align-items:center; gap:var(--sp-2); padding:7px var(--sp-4);
  border:1px solid var(--border-on-dark); border-radius:var(--r-pill); background:var(--bg-dark-card);
  min-width:min(320px,100%); transition:border-color var(--dur-base) var(--ease-out); }
.gl-search:focus-within{ border-color:rgba(var(--glow-rgb),.55); box-shadow:0 0 0 3px rgba(var(--glow-rgb),.12); }
.gl-search__icon{ color:var(--fg-on-dark-3); display:inline-flex; }
.gl-search__input{ flex:1; min-width:0; border:0; background:transparent; outline:none;
  font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); color:var(--fg-on-dark-1); }
.gl-search__input::placeholder{ color:var(--fg-on-dark-3); }
.gl-search__input::-webkit-search-cancel-button{ filter:invert(1) opacity(.4); }

.gl-jump{ display:flex; flex-wrap:wrap; gap:2px; max-width:1100px; margin:var(--sp-3) auto 0; }
.gl-jump__k{ display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:24px;
  padding:0 4px; border-radius:var(--r-sm,6px); font-family:var(--font-mono); font-size:11px; line-height:1;
  color:var(--accent-hover); transition:background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); }
.gl-jump__k:hover{ background:var(--accent); color:#fff; }
.gl-jump__k.is-off{ color:var(--fg-on-dark-3); opacity:.35; }

/* ---- the six precision entries, surfaced above the alphabet ---- */
.gl-precision{ margin-top:var(--sp-10); padding:var(--sp-8); border-radius:var(--r-lg);
  border:1px solid var(--border-on-dark); border-left:3px solid var(--accent); background:var(--accent-soft); }
.gl-precision__h{ font-family:var(--font-heading); font-weight:400; font-size:var(--fs-24);
  letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:0; }
.gl-precision__d{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed);
  color:var(--fg-on-dark-2); margin:var(--sp-3) 0 0; max-width:70ch; text-wrap:pretty; }
.gl-precision__list{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-3); margin-top:var(--sp-6); }
.gl-precision__item{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-5);
  border-radius:var(--r-md); border:1px solid var(--border-on-dark); background:var(--bg-dark-card);
  transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); }
.gl-precision__item:hover{ border-color:rgba(var(--glow-rgb),.45); transform:translateY(-2px); }
.gl-precision__t{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-16); color:var(--fg-on-dark-1); }
.gl-precision__c{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); line-height:var(--lh-relaxed);
  color:var(--fg-on-dark-2); text-wrap:pretty; }
@media(max-width:760px){ .gl-precision__list{ grid-template-columns:1fr; } }

/* ---- alphabetical groups ---- */
.gl-group{ margin-top:var(--sp-12); scroll-margin-top:calc(var(--nam-nav-h,0px) + 120px); }
.gl-group__head{ display:flex; align-items:center; gap:var(--sp-4); padding-bottom:var(--sp-3);
  border-bottom:1px solid var(--border-on-dark); }
.gl-group__k{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-28);
  color:var(--accent-hover); letter-spacing:var(--tracking-tight); }
.gl-list{ display:flex; flex-direction:column; }

/* ---- one entry ---- */
.gl-entry{ padding:var(--sp-6) 0; border-bottom:1px solid var(--border-on-dark);
  scroll-margin-top:calc(var(--nam-nav-h,0px) + 120px); }
.gl-entry:last-child{ border-bottom:0; }
.gl-entry:target{ background:linear-gradient(90deg, var(--accent-soft), transparent 70%);
  box-shadow:-3px 0 0 var(--accent); padding-left:var(--sp-5); }
.gl-entry__head{ display:flex; align-items:baseline; gap:var(--sp-3); flex-wrap:wrap; }
.gl-entry__term{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-20);
  color:var(--fg-on-dark-1); letter-spacing:var(--tracking-tight); margin:0; }
.gl-entry__tier{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider);
  text-transform:uppercase; padding:3px 9px; border-radius:var(--r-pill); line-height:1;
  border:1px solid var(--border-on-dark); color:var(--fg-on-dark-3); }
.gl-entry__tier--regulatory{ color:var(--accent-hover); background:var(--accent-soft); }
.gl-entry__anchor{ margin-left:auto; font-family:var(--font-mono); font-size:12px; color:var(--fg-on-dark-3); opacity:0; }
.gl-entry:hover .gl-entry__anchor{ opacity:1; }
.gl-entry__anchor:hover{ color:var(--accent-hover); }
.gl-entry__def{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-16); line-height:var(--lh-relaxed);
  color:var(--fg-on-dark-1); margin:var(--sp-3) 0 0; max-width:78ch; text-wrap:pretty; }
.gl-entry__why{ font-family:var(--font-body); font-weight:300; font-style:italic; font-size:var(--fs-14);
  line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:var(--sp-2) 0 0; max-width:78ch; text-wrap:pretty; }
.gl-entry__confused{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed);
  color:var(--fg-on-dark-2); margin:var(--sp-4) 0 0; max-width:78ch; padding:var(--sp-4) var(--sp-5);
  border-radius:var(--r-md); border:1px solid var(--border-on-dark); background:rgba(255,255,255,.02); text-wrap:pretty; }
.gl-entry__confused-k{ font-family:var(--font-heading); font-weight:600; font-size:10px;
  letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--status-warning); margin-right:var(--sp-2); }
.gl-entry__links{ display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--sp-3) var(--sp-6); margin-top:var(--sp-4); }
.gl-entry__up{ font-family:var(--font-heading); font-weight:600; font-size:var(--fs-12);
  letter-spacing:var(--tracking-wide); color:var(--accent-hover); }
.gl-entry__up:hover{ color:var(--fg-on-dark-1); }
.gl-entry__on{ font-family:var(--font-mono); font-size:12px; color:var(--fg-on-dark-3); }
.gl-entry__on a{ color:var(--accent-hover); }
.gl-entry__on a:hover{ color:var(--fg-on-dark-1); }

/* ---- the monograph auto-link (rendered by namGlossLinker in monograph prose) ---- */
.nam-gloss{ color:inherit; border-bottom:1px dotted rgba(var(--glow-rgb),.6);
  text-decoration:none; transition:color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.nam-gloss:hover{ color:var(--accent-hover); border-bottom-color:var(--accent-hover); }

@media(max-width:560px){
  .gl-precision{ padding:var(--sp-6); }
  .gl-entry__anchor{ display:none; }
  .gl-search{ min-width:100%; }
}
