/* Glossary content layer: Ledger & Ink surfaces with clear search/navigation. */
.glossary-page {
  --glossary-paper: #f6f3ec;
  --glossary-card: #fffefa;
  --glossary-wash: #ede8dc;
  --glossary-deep: #0a1830;
  --glossary-ink: #10213f;
  --glossary-copy: #3a4458;
  --glossary-muted: #596477;
  --glossary-line: #d9d2c3;
  --glossary-teal: #176b7a;
  background: var(--glossary-paper);
  color: var(--glossary-ink);
  overflow-x: clip;
}
:root[data-theme="dark"] .glossary-page {
  --glossary-paper: #0e1422;
  --glossary-card: #161e2e;
  --glossary-wash: #1a2334;
  --glossary-deep: #0a1830;
  --glossary-ink: #e8ebf2;
  --glossary-copy: #c2cad8;
  --glossary-muted: #a0adbf;
  --glossary-line: #2a3447;
  --glossary-teal: #79c8d0;
  color-scheme: dark;
}
:root[data-theme="light"] .glossary-page { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) .glossary-page {
    --glossary-paper: #0e1422;
    --glossary-card: #161e2e;
    --glossary-wash: #1a2334;
    --glossary-deep: #0a1830;
    --glossary-ink: #e8ebf2;
    --glossary-copy: #c2cad8;
    --glossary-muted: #a0adbf;
    --glossary-line: #2a3447;
    --glossary-teal: #79c8d0;
    color-scheme: dark;
  }
}
.glossary-page :focus-visible { outline: 3px solid var(--glossary-teal); outline-offset: 3px; }
.glossary-page .utility-bar { border: 0; background: var(--glossary-deep); color: #e0e7f1; }
.glossary-page .utility-bar a { color: #fff; text-underline-offset: 3px; }
.glossary-page .site-header { backdrop-filter: saturate(1.2) blur(12px); -webkit-backdrop-filter: saturate(1.2) blur(12px); background: color-mix(in srgb,var(--glossary-paper) 96%,transparent); }
.glossary-page .primary-nav { background: var(--masthead-nav-bg,#10213f); }
.glossary-page .nav-inner { flex-wrap: wrap; }
.glossary-page .nav-inner a { color: #fff; }
.glossary-page main { background: var(--glossary-paper); }
.glossary-page .hero { padding: clamp(56px,8vw,92px) 0; background: var(--glossary-deep); border-bottom: 4px solid var(--glossary-teal); }
.glossary-page .hero::before { background: radial-gradient(ellipse at 82% 18%,rgba(23,107,122,.32),transparent 42%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(255,255,255,.04) 47px 48px); }
.glossary-page .hero .eyebrow { border: 1px solid rgba(185,230,233,.36); border-radius: 2px; color: #b9e6e9; background: transparent; font-family: var(--mono); letter-spacing: .04em; }
.glossary-page .hero h1 { max-width: 900px; line-height: 1.2; text-wrap: balance; }
.glossary-page .hero h1 .accent { color: #a9dce0; }
.glossary-page .hero p.sub { max-width: 760px; color: #e0e6ef; line-height: 1.8; }
.glossary-page .glossary-wrap { width: min(100%,1040px); margin: 0 auto; padding: clamp(24px,4vw,44px) clamp(16px,3vw,28px) 52px; }
.glossary-page .search-bar { margin: 0 0 18px; }
.glossary-page .search-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: stretch; }
.glossary-page .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.glossary-page .search-bar > label { display: block; margin: 0 0 8px; color: var(--glossary-ink); font: 600 14px/1.5 var(--sans); }
.glossary-page .result-count { min-height: 21px; margin: 8px 0 0; color: var(--glossary-muted); font: 500 13px/1.6 var(--sans); }
.glossary-page .search-bar input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 11px 15px; color: var(--glossary-ink); background: var(--glossary-card); border: 1px solid var(--glossary-line); border-radius: 3px; font: 15px/1.5 var(--sans); box-shadow: none; }
.glossary-page .search-bar input::placeholder { color: var(--glossary-muted); opacity: 1; }
.glossary-page .search-bar input:focus-visible { border-color: var(--glossary-teal); box-shadow: 0 0 0 3px color-mix(in srgb,var(--glossary-teal) 22%,transparent); }
.glossary-page .search-reset { min-height: 48px; padding: 10px 16px; color: var(--glossary-ink); background: transparent; border: 1px solid var(--glossary-line); border-radius: 999px; font: 600 14px/1.4 var(--sans); cursor: pointer; }
.glossary-page .search-reset:hover:not(:disabled) { color: var(--glossary-paper); background: var(--glossary-teal); border-color: var(--glossary-teal); }
.glossary-page .search-reset:disabled { color: var(--glossary-muted); cursor: not-allowed; opacity: .72; }
.glossary-page .alpha-nav { position: sticky; top: 92px; z-index: 50; display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin: 0 0 24px; padding: 10px; background: color-mix(in srgb,var(--glossary-card) 96%,transparent); border: 1px solid var(--glossary-line); border-radius: 3px; box-shadow: 0 10px 30px -24px rgba(16,33,63,.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.glossary-page .alpha-nav a,.glossary-page .alpha-nav .empty { display: inline-flex; box-sizing: border-box; width: 44px; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--glossary-copy); background: transparent; border: 1px solid transparent; border-radius: 2px; font: 600 14px/1 var(--mono); text-decoration: none; transition: background-color .15s,border-color .15s,color .15s; }
.glossary-page .alpha-nav a:hover,.glossary-page .alpha-nav a:focus-visible { color: var(--glossary-paper); background: var(--glossary-teal); border-color: var(--glossary-teal); }
.glossary-page .alpha-nav .empty { padding: 0; color: var(--glossary-muted); background: var(--glossary-wash); border: 1px dashed var(--glossary-line); cursor: not-allowed; opacity: 1; appearance: none; -webkit-appearance: none; }
.glossary-page .letter-group { margin-bottom: clamp(28px,5vw,44px); scroll-margin-top: 104px; }
.glossary-page .letter-head { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; padding: 0 0 11px; border-bottom: 1px solid var(--glossary-line); }
.glossary-page .letter-head .L { display: flex; width: 48px; min-width: 48px; height: 48px; align-items: center; justify-content: center; color: #fff; background: var(--glossary-deep); border-bottom: 3px solid var(--glossary-teal); border-radius: 2px; font: 500 21px/1 var(--mono); }
.glossary-page .letter-head .meta { color: var(--glossary-muted); font: 500 12px/1.5 var(--mono); letter-spacing: .02em; }
.glossary-page .term-card { min-width: 0; margin: 0 0 10px; padding: 18px clamp(16px,2.4vw,24px); color: var(--glossary-copy); background: var(--glossary-card); border: 1px solid var(--glossary-line); border-left: 3px solid var(--glossary-teal); border-radius: 2px; box-shadow: 0 14px 34px -30px rgba(16,33,63,.55); transition: border-color .15s,transform .15s,box-shadow .15s; }
.glossary-page .term-card:hover { border-color: var(--glossary-teal); transform: translateY(-1px); box-shadow: 0 14px 30px -24px rgba(16,33,63,.5); }
.glossary-page .term-card h3 { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; margin: 0 0 7px; color: var(--glossary-ink); font: 600 16px/1.6 var(--sans); letter-spacing: 0; overflow-wrap: anywhere; }
.glossary-page .term-card h3 > span:first-child { min-width: 0; }
.glossary-page .term-card h3 > span:first-child > span { color: var(--glossary-copy) !important; font-size: 14px !important; font-weight: 400 !important; }
.glossary-page .term-card h3 .ref { padding: 3px 8px; color: var(--glossary-muted); background: var(--glossary-wash); border: 1px solid var(--glossary-line); border-radius: 2px; font: 500 11px/1.5 var(--mono); letter-spacing: 0; overflow-wrap: anywhere; }
.glossary-page .term-card p { margin: 0; color: var(--glossary-copy); font: 400 14px/1.8 var(--sans); overflow-wrap: anywhere; }
.glossary-page .term-card p strong { color: var(--glossary-ink); }
.glossary-page .term-card a,.glossary-page .no-match a { color: var(--glossary-teal); font-weight: 600; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; overflow-wrap: anywhere; }
.glossary-page .term-card a:hover,.glossary-page .no-match a:hover { text-decoration-style: solid; }
.glossary-page .hidden { display: none !important; }
.glossary-page .no-match { display: none; margin: 20px 0 28px; padding: clamp(24px,5vw,44px); color: var(--glossary-copy); background: var(--glossary-card); border: 1px solid var(--glossary-line); border-top: 3px solid var(--glossary-teal); border-radius: 2px; text-align: center; }
.glossary-page .no-match.show { display: block; }
.glossary-page .no-match h2 { margin: 0 0 8px; color: var(--glossary-ink); font: 500 clamp(22px,3vw,30px)/1.4 var(--head); }
.glossary-page .no-match p { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.glossary-page .cta-band { padding: clamp(42px,7vw,76px) 0; color: #fff; background: var(--glossary-deep); border-top: 4px solid var(--glossary-teal); }
.glossary-page .cta-band h2 { color: #fff; line-height: 1.45; }
.glossary-page .cta-band h2 .accent { color: #a9dce0; }
.glossary-page .cta-band p { max-width: 740px; color: #e0e6ef; line-height: 1.8; }
.glossary-page .cta-band .btn-outline { color: #fff; border-color: rgba(255,255,255,.56); }
.glossary-page footer { color: var(--glossary-copy); background: var(--glossary-paper); border-top: 1px solid var(--glossary-line); }
.glossary-page footer a { color: var(--glossary-teal); text-underline-offset: 3px; }

@media (max-width: 760px) {
  .glossary-page .alpha-nav { position: static; top: auto; justify-content: flex-start; gap: 4px; padding: 8px; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .glossary-page .letter-group { scroll-margin-top: 90px; }
  .glossary-page .wa-fab { position: static; display: flex; width: max-content; min-height: 44px; max-width: calc(100% - 36px); align-items: center; margin: 16px 18px 0 auto; padding: 10px 14px; border-radius: 999px; box-shadow: none; }
  .glossary-page .wa-fab span:not(.wa-ic) { display: inline !important; }
}
@media (max-width: 420px) {
  .glossary-page .glossary-wrap { padding-right: 15px; padding-left: 15px; }
  .glossary-page .search-controls { grid-template-columns: minmax(0,1fr); }
  .glossary-page .search-reset { justify-self: start; min-width: 112px; }
  .glossary-page .alpha-nav { justify-content: flex-start; gap: 3px; padding: 7px; }
  .glossary-page .alpha-nav a { width: 44px; min-width: 44px; min-height: 44px; }
  .glossary-page .term-card { padding: 16px 14px; }
}
