/* ======================================================================
   vocabulary.css — global vocabulary page (all six old-HSK volumes).
   Builds on volume.css (tv-* vocabulary styles, panels, seg, speak).
   ====================================================================== */

/* ---- filter bar ---- */
.gv-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 16px;margin-bottom:14px}
.gv-filters label{display:block;margin-bottom:5px}
.gv-filters select{width:100%;font-size:13px;padding:7px 8px}
#gvWrap{margin-bottom:4px}
#gvSearch{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px}
#gvMeta{font-size:13px;color:var(--muted);margin:8px 0}

/* ---- rows (extends volume.css .tv-row) ---- */
.gv-count{color:var(--muted);font-weight:400;font-size:12px;margin-left:8px}
.gv-speak{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--brand);width:24px;height:24px;border-radius:50%;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.12s;margin:2px 0}
.gv-speak:hover{border-color:var(--brand2);background:var(--hover)}
.gv-speak{width:24px;height:24px;min-width:24px}
.tv-table .tv-word{min-width:88px}
.gv-wrap{max-width:960px;margin:0 auto}