/* Glossary links, editorial wikiboxes and the native collapsed contents navigation. */
.on-content-intro { display:flow-root; margin:22px 0 30px; }
.on-content-intro>.on-infoboxes:first-child { margin-top:0; }
.on-content-intro>.on-toc:last-child { margin-bottom:0; }
.on-glossary-link { color:var(--on-ink,#002d5e); text-decoration-line:underline; text-decoration-style:dotted; text-decoration-color:var(--on-ink,#002d5e); text-underline-offset:4px; }
.on-prose .on-glossary-link { text-decoration-style:dotted; }
.on-glossary-link:hover,.on-glossary-link:focus-visible { text-decoration-style:solid; text-decoration-color:var(--on-accent,#fab900); }
/* Shared glossary preview: non-modal, clipping-safe, with the existing button tokens. */
.on-glossary-preview { position:fixed; inset:auto; margin:0; z-index:100000; box-sizing:border-box; width:min(380px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:20px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--on-line,#f4e5d9); border-top:3px solid var(--on-accent,#fab900); border-radius:0; background:var(--on-paper,#fff); color:var(--on-ink,#002d5e); font:var(--on-content-weight,400) calc(var(--on-content-size,14px) * var(--on-reading-scale,1))/1.75 var(--on-font,system-ui,sans-serif); scrollbar-width:thin; scrollbar-color:var(--on-accent,#fab900) var(--on-soft,#f4f6f7); text-transform:var(--on-content-transform,none); }
.on-glossary-preview[hidden] { display:none; }
.on-glossary-preview::backdrop { background:transparent; pointer-events:none; }
.on-glossary-preview-header { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin:0 0 14px; }
.on-glossary-preview-header>div { min-width:0; }
.on-glossary-preview-kicker { display:block; font:600 calc(10px * var(--on-reading-scale,1))/1.5 var(--on-font,system-ui,sans-serif); letter-spacing:.06em; text-transform:uppercase; margin:0 0 6px; }
.on-glossary-preview h2 { font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,calc(26px * var(--on-reading-scale,1))))/1.15 var(--on-heading,system-ui,sans-serif); text-transform:var(--on-heading-transform,uppercase); color:inherit; margin:0; }
.on-glossary-preview-header>.on-button { flex:0 0 44px; }
.on-glossary-preview>p { font:inherit; color:inherit; margin:0 0 18px; white-space:pre-line; overflow-wrap:anywhere; }
.on-glossary-preview>[data-on-glossary-read] { width:100%; }
.on-wikiboxes { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:0; color:var(--on-ink,#002d5e); font-family:var(--on-font,system-ui,sans-serif); }
.on-wiki-label { display:block; margin-bottom:12px; font-size:calc(10px * var(--on-reading-scale,1)); line-height:1.5; text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.on-wikibox h2 { font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,calc(27px * var(--on-reading-scale,1))))/1.15 var(--on-heading,system-ui,sans-serif); margin:0 0 17px; color:inherit; text-transform:var(--on-heading-transform,uppercase); }
.on-wikibox p,.on-wikibox li,.on-wikibox dd { font-size:calc(var(--on-content-size,14px) * var(--on-reading-scale,1)); line-height:1.8; overflow-wrap:anywhere; color:inherit; text-transform:var(--on-content-transform,none); }
.on-wikibox p:last-child { margin-bottom:0; }
.on-wiki-lead { margin:0 0 20px; }
.on-wiki-lead:last-child { margin-bottom:0; }
.on-wiki-facts { display:grid; grid-template-columns:minmax(0,1fr); gap:18px 24px; margin:0; }
.on-wiki-facts>div { min-width:0; border:1px solid var(--on-line,#f4e5d9); padding:14px 16px; background:var(--on-property-surface,var(--on-paper,#fff)); }
.on-wiki-lead dt,.on-wiki-facts dt { font:600 calc(11px * var(--on-reading-scale,1))/1.5 var(--on-font,system-ui,sans-serif); margin:0 0 6px; }
.on-wiki-lead dd,.on-wiki-facts dd { margin:0; }
.on-wikibox-sources ul { margin:0; padding-left:19px; }
.on-wikibox-sources li+li { margin-top:8px; }
.on-wikibox a:not(.on-button,.on-glossary-link) { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.on-toc { margin:22px 0 28px; border:1px solid var(--on-line,#f4e5d9); border-left:3px solid var(--on-accent,#fab900); background:var(--on-soft,#f4f6f7); color:var(--on-ink,#002d5e); }
.on-toc>summary { display:flex; align-items:center; gap:12px; min-height:62px; padding:16px 20px; cursor:pointer; list-style:none; }
.on-toc>summary::-webkit-details-marker { display:none; }
.on-toc>summary::marker { content:''; }
.on-toc-title { font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,calc(24px * var(--on-reading-scale,1))))/1.2 var(--on-heading,system-ui,sans-serif); text-transform:var(--on-heading-transform,uppercase); }
.on-toc-icon,.on-toc-chevron { display:inline-flex; flex:0 0 auto; }
.on-toc .on-icon { width:20px; height:20px; }
.on-toc-count { margin-left:auto; white-space:nowrap; font:400 calc(11px * var(--on-reading-scale,1))/1.5 var(--on-font,system-ui,sans-serif); }
.on-toc[open] .on-toc-chevron { transform:rotate(180deg); }
.on-toc>nav { border-top:1px solid var(--on-line,#f4e5d9); padding:18px 24px 22px; }
.on-toc ol { padding-left:20px; margin:0; font:var(--on-content-weight,400) calc(var(--on-content-size,14px) * var(--on-reading-scale,1))/1.8 var(--on-font,system-ui,sans-serif); text-transform:var(--on-content-transform,none); }
.on-toc li { margin:5px 0; padding-left:3px; break-inside:avoid; }
.on-toc li::marker { font-weight:600; }
.on-toc li>ol { margin:8px 0 11px; font-size:calc(var(--on-content-size,13px) * var(--on-reading-scale,1)); text-transform:var(--on-content-transform,none); }
.on-toc a,.on-prose .on-toc a { color:var(--on-ink,#002d5e); text-decoration:none; overflow-wrap:anywhere; }
.on-toc a:hover,.on-toc a:focus-visible,.on-prose .on-toc a:hover { color:var(--on-accent,#fab900); text-decoration:none; }
/* The theme already reserves the sticky header through scroll-padding-top. */
.on-prose :is(h2,h3,h4,h5,h6)[id] { scroll-margin-top:12px; }
@media(max-width:639px) {
  .on-wikibox h2 { font-size:var(--on-heading-current-size,var(--on-heading-size,calc(25px * var(--on-reading-scale,1)))); }
  .on-toc>summary { gap:9px; padding:14px; flex-wrap:nowrap; }
  .on-toc-title { min-width:0; font-size:var(--on-heading-current-size,var(--on-heading-size,clamp(18px,5.5vw,22px))); }
  .on-toc-count { display:none; }
  .on-toc-chevron { margin-left:auto; }
  .on-toc>nav { padding:16px 18px; }
}
@media print { .on-toc,.on-glossary-preview { display:none!important; }.on-wikibox { break-inside:avoid; }.on-wikiboxes { display:block; }.on-wikibox+.on-wikibox { margin-top:12px; } }
