.dictionary-grid, .dictionary-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem .35rem; }
.dictionary-card { min-width: 0; padding: .5rem; border: 1px solid #657469; border-radius: .5rem; }
.dictionary-card button, .dictionary-category { width: 100%; min-height: 44px; overflow-wrap: anywhere; }
.dictionary-word, .dictionary-category { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; }
.dictionary-picture { display: block; width: min(100%, 120px); height: 120px; object-fit: contain; }
.dictionary-word[aria-pressed="true"] { outline: 3px solid #174d38; outline-offset: -3px; }
.dictionary-selection-label { display: block; font-weight: bold; }
.dictionary-search { display: flex; flex-direction: column; gap: .4rem; margin-block: 1rem; }
.dictionary-search input, .dictionary-search select { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 44px; font: inherit; }
.dictionary-selected { padding-left: 1.5rem; }
.dictionary-selected li { padding-block: .5rem; overflow-wrap: anywhere; }
.dictionary-selected .dictionary-picture { display: inline-block; width: 64px; height: 64px; vertical-align: middle; margin-right: .5rem; }
.dictionary-pagination { display: flex; flex-wrap: wrap; gap: .5rem; }
.dictionary-category-cues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100px; }
.dictionary-category-cues .dictionary-picture { width: 50px; height: 50px; }
.dictionary-attribution a { display: block; min-height: 44px; padding-block: .5rem; }
.dictionary-show { width: 100%; box-sizing: border-box; }
.dictionary-show-pictures { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.dictionary-show figure { margin: .5rem; text-align: center; min-width: 0; max-width: 100%; }
.dictionary-show .dictionary-picture { width: min(60vw, 320px); height: min(60vw, 320px); }
.dictionary-show figcaption { font-size: 2rem; line-height: 1.3; overflow-wrap: anywhere; }
@media (min-width: 768px) { .dictionary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .dictionary-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.dictionary-editor-row { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; padding-block: .4rem; border-bottom: 1px solid #657469; }
.dictionary-editor-row .dictionary-picture { width: 64px; height: 64px; }
.dictionary-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 430px); gap: 1.5rem; }
.dictionary-preview { min-width: 0; border: 1px solid #657469; padding: 1rem; }
.dictionary-search textarea { width: 100%; box-sizing: border-box; min-height: 6rem; font: inherit; }
.dictionary-show .dictionary-picture { display: block !important; }
@media (max-width: 650px) { .dictionary-editor-layout { grid-template-columns: minmax(0, 1fr); } }
.dictionary-category .dictionary-picture { width: min(100%, 80px); height: 80px; }
.dictionary-card { border: 0; padding: 0; }
.dictionary-word, .dictionary-category { border: 0; background: transparent; padding: .2rem; gap: .2rem; }
.dictionary-word > span, .dictionary-category > span { font-size: .8rem; line-height: 1.3; }
.dictionary-word .dictionary-picture { width: min(100%, 76px); max-width: 100%; height: 76px; }
.dictionary-category .dictionary-picture { width: min(100%, 64px); max-width: 100%; height: 64px; }
body[data-pictures="large"] .dictionary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-pictures="large"] .dictionary-word .dictionary-picture { height: 160px; }
.dictionary-image-status { display: block; font-size: .8rem; }
html[style*="font-size: 28px"] .dictionary-grid, html[style*="font-size: 32px"] .dictionary-grid, html[style*="font-size: 28px"] .dictionary-category-grid, html[style*="font-size: 32px"] .dictionary-category-grid { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 290px) { .dictionary-grid, .dictionary-category-grid { grid-template-columns: minmax(0, 1fr); } }

.dictionary-compact-search { margin-block: .75rem; }
.dictionary-search-row { display: flex; align-items: stretch; gap: .4rem; }
.dictionary-search-row input { min-width: 0; flex: 1; width: 0; min-height: 44px; box-sizing: border-box; font: inherit; }
.dictionary-search-row button { flex: 0 0 auto; min-height: 44px; width: auto; margin: 0; }
.dictionary-search-label { display: block; margin-bottom: .25rem; }
.dictionary-compact-search > button { width: auto; margin-top: .4rem; }
