/* A single catalogue: stable controls, one scroll area and one loading path. */
#catalog-dialog{width:min(1120px,calc(100% - 32px));height:min(88svh,840px);max-height:88svh;padding:24px;overflow:hidden}
#catalog-dialog[open]{display:flex;flex-direction:column;gap:0}
#catalog-dialog .dialog-head{flex-shrink:0;align-items:center;margin-bottom:3px}
#catalog-dialog .dialog-head h2{margin:0;font-size:29px}
.catalog-controls{flex-shrink:0;padding:0 0 9px}
#catalog-dialog .catalog-tools{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
#catalog-dialog .catalog-tools>label{min-width:0;width:auto;flex:initial}
#catalog-dialog .catalog-tools input,#catalog-dialog .catalog-tools select{width:100%;font-size:13px;padding:10px}
#catalog-dialog .search-label{position:relative;display:block}
#catalog-dialog .search-label input{padding-right:37px}
#catalog-dialog input[type=search]::-webkit-search-cancel-button{display:none}
#catalog-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:26px;height:26px;min-height:0}
.catalog-initials{display:grid;grid-template-columns:repeat(26,minmax(0,1fr));align-items:center;gap:3px 0;width:min(100%,760px);margin:0 auto 9px;padding:0}
.catalog-initials a{position:relative;font-size:13px;line-height:26px;min-width:0;text-align:center;text-decoration:none;border-bottom:2px solid transparent;transition:color 220ms,border-color 220ms}
.catalog-initials a:not(:last-child)::after{content:'|';position:absolute;right:-2px;font-size:10px;font-weight:400;color:var(--line)}
.catalog-initials a:hover:not([aria-disabled=true]),.catalog-initials a[aria-current]{color:var(--accent);border-color:var(--accent)}
.catalog-initials a[aria-current]{font-weight:700}
.catalog-initials a[aria-disabled=true]{opacity:.3;cursor:default}
.catalog-status{display:flex;justify-content:space-between;align-items:center;gap:7px 18px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.5}
.catalog-hint{display:inline-flex;align-items:center;gap:5px;font-size:11px}
.catalog-hint .lucide{width:13px;height:13px}
.catalog-results{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:12px}
.catalog-results:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.catalog-results .pronunciation-row{animation:catalog-row-in 220ms ease both}
@keyframes catalog-row-in{from{opacity:0}to{opacity:1}}
.catalog-word{min-width:0;padding-right:18px}
.catalog-focuses{font-size:11px;line-height:1.5;margin:5px 0 0;color:var(--muted);overflow-wrap:anywhere}
.catalog-empty{padding:35px;text-align:center;font-size:14px;color:var(--muted)}
.catalog-next{display:flex;align-items:center;justify-content:center;gap:8px;margin:15px auto;min-height:36px;font-size:12px}
.catalog-next .lucide{width:16px;height:16px}
.catalog-footer{flex-shrink:0;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);display:grid;gap:8px}
.catalog-footer-actions{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap}
.catalog-download-actions,.catalog-review-actions{display:flex;align-items:center;gap:4px 15px;flex-wrap:wrap}
.catalog-footer .small-link{font-size:11px}
.catalog-footer-actions>div>span{font-weight:600}
#review-save-status:empty{display:none}
.is-pseudo .pronunciation-row{grid-template-columns:1fr}
@media(max-width:720px){#catalog-dialog{padding:18px;height:92svh;max-height:92svh;width:calc(100% - 20px)}#catalog-dialog .catalog-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#catalog-dialog .search-label{grid-column:1/-1}.catalog-initials{grid-template-columns:repeat(13,minmax(0,1fr));gap:2px 0}.catalog-initials a:nth-child(13)::after{display:none}.catalog-status{justify-content:center;text-align:center}.catalog-results{padding-right:9px}.catalog-footer-actions{justify-content:center}.catalog-hint{font-size:10px}.catalog-download-actions,.catalog-review-actions{justify-content:center}.catalog-footer{margin-top:9px;padding-top:8px}}
@media(max-width:420px){#catalog-dialog{padding:16px}.catalog-initials{gap:1px 0}.catalog-initials a{font-size:12px;line-height:24px}.catalog-status{font-size:10px}.catalog-footer-actions{gap:5px}.catalog-footer .small-link{font-size:10px}.catalog-download-actions,.catalog-review-actions{gap:3px 13px}}
@media print{#catalog-dialog{display:none!important}}
