/* The reference page shares ReaderBible's page tones and type assets. */
.dictionary-page { margin: 0; background: var(--rb-page-bg); color: var(--rb-page-text); font-family: var(--rb-font-ui, system-ui); }
.dictionary-page [hidden] { display: none !important; }
.dictionary-page a { color: inherit; text-underline-offset: .2em; }
.dictionary-page button, .dictionary-page input { font: inherit; }
.dictionary-page button, .dictionary-masthead a, .dictionary-reading-tools a, .dictionary-results a { min-height: 44px; }
.dictionary-page button { color: inherit; background: transparent; border: 1px solid var(--rb-page-border, #aaa); border-radius: 6px; padding: 10px 16px; cursor: pointer; }
.dictionary-page :focus-visible { outline: 2px solid var(--rb-page-accent, #8d6f3d); outline-offset: 4px; }
#dictionaryArticle:focus { outline: none; }
.dictionary-skip { position: absolute; top: -100px; left: 20px; padding: 12px; background: var(--rb-page-bg); z-index: 10; }
.dictionary-skip:focus { top: 10px; }
.dictionary-masthead { max-width: 1200px; margin: auto; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 16px max(24px, env(safe-area-inset-left)); border-bottom: 1px solid var(--rb-page-border); font-size: 14px; }
.dictionary-masthead a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.dictionary-masthead span { font-family: 'EB Garamond', serif; font-size: 24px; }
.dictionary-page main { max-width: 1120px; margin: 0 auto; padding: 44px max(24px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); }
.dictionary-heading { margin-bottom: 36px; }
.dictionary-eyebrow { margin: 0 0 10px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--rb-page-meta-text); }
.dictionary-heading h1 { font: 400 clamp(36px, 5vw, 52px)/1.1 'EB Garamond', serif; margin: 0 0 12px; }
.dictionary-heading > p:last-child { font-size: 14px; color: var(--rb-page-meta-text); }
.dictionary-layout { display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.dictionary-search { min-width: 0; }
.dictionary-search label { display: block; font-size: 14px; margin-bottom: 10px; }
.dictionary-search input[type='search'] { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px; color: inherit; background: transparent; border: 1px solid var(--rb-page-border, #aaa); border-radius: 6px; }
.dictionary-search .dictionary-scope { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 6px 0; cursor: pointer; }
.dictionary-scope input { width: 18px; height: 18px; accent-color: var(--rb-page-accent); flex-shrink: 0; }
.dictionary-status { font-size: 14px; color: var(--rb-page-meta-text); min-height: 1.5em; }
.dictionary-results { list-style: none; padding: 0; margin: 16px 0; max-height: 55vh; overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid var(--rb-page-border); }
.dictionary-results li { border-bottom: 1px solid var(--rb-page-border); }
.dictionary-results a { display: flex; flex-direction: column; justify-content: center; padding: 10px 8px; text-decoration: none; overflow-wrap: anywhere; }
.dictionary-results a[aria-current='page'] { background: color-mix(in srgb, var(--rb-page-accent) 9%, transparent); border-left: 2px solid var(--rb-page-accent); }
.dictionary-results small { margin-top: 3px; font-size: 12px; color: var(--rb-page-meta-text); }
.dictionary-reading { min-width: 0; scroll-margin-top: 20px; }
.dictionary-reading-tools { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.dictionary-reading-tools a { display: flex; align-items: center; }
.dictionary-article, #dictionaryArticle, #dictionaryPassageBody { font-family: var(--rb-applied-reader-font, 'EB Garamond', serif); font-size: max(20px, var(--rb-reader-boot-font-size, 21px)); line-height: var(--rb-reader-boot-line-height, 1.72); overflow-wrap: anywhere; }
#dictionaryArticle h2, #dictionaryArticle h3, #dictionaryArticle h4 { font-weight: 500; line-height: 1.25; margin: 1.5em 0 .6em; }
#dictionaryArticle h2 { font-size: 1.6em; }
#dictionaryArticle p { margin: 0 0 1em; }
#dictionaryArticle a, #dictionaryPassageBody a { text-decoration: underline; text-decoration-thickness: 1px; }
.dictionary-block-list { margin-left: 1.25em !important; }
.dictionary-block-poetry { padding-left: 1.5em; white-space: normal; }
.dictionary-block-contributor { font-style: italic; font-size: .9em; }
.dictionary-include { display: block; padding: 12px 0; border-block: 1px solid var(--rb-page-border); margin-block: 20px; }
.dictionary-table-scroll { max-width: 100%; overflow-x: auto; margin-block: 24px; }
.dictionary-page table { border-collapse: collapse; min-width: 100%; font-size: .85em; }
.dictionary-page td { padding: 10px; vertical-align: top; border: 1px solid var(--rb-page-border, #aaa); min-width: 8em; }
.dictionary-note, #dictionaryArticle .dictionary-note { color: var(--rb-page-meta-text); font: 14px/1.65 var(--rb-font-ui, system-ui); }
.dictionary-sources { margin-top: 64px; border-top: 1px solid var(--rb-page-border); padding-top: 24px; max-width: 76ch; font-size: 14px; line-height: 1.7; }
.dictionary-sources h2 { font-size: 16px; font-weight: 500; }
.dictionary-page dialog { box-sizing: border-box; max-width: min(680px, calc(100% - 32px)); max-height: 85dvh; padding: 24px; border: 1px solid var(--rb-page-border); border-radius: 8px; background: var(--rb-page-bg); color: var(--rb-page-text); }
.dictionary-page dialog::backdrop { background: rgb(0 0 0 / .3); }
.dictionary-dialog-header { display: flex; gap: 16px; align-items: start; justify-content: space-between; }
.dictionary-dialog-header h2 { font: 500 26px/1.3 'EB Garamond', serif; margin: 6px 0 20px; }
.dictionary-dialog-header button { min-width: 44px; padding: 10px; }
.dictionary-noscript { padding: 24px; }
@media (max-width: 900px) {
  .dictionary-page main { padding-top: 28px; }
  .dictionary-heading { margin-bottom: 24px; }
  .dictionary-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .dictionary-results { max-height: 34vh; }
  .dictionary-page[data-reading='true'] .dictionary-search { display: none; }
  .dictionary-page[data-reading='true'] .dictionary-heading { margin-bottom: 16px; }
}
@media (forced-colors: active) {
  .dictionary-results a[aria-current='page'] { border: 2px solid Highlight; }
}
