/* SoyBooru-inspired, ClankBooru-native tag explorer. Uses active Modus tokens. */
#cb-tag-explorer { width:100%; max-width:none; margin:0; text-align:left; color:var(--ink); }
#cb-tag-explorer .blockbody { padding:0; }
.cb-tag-explorer { background:var(--paper); border:1px solid var(--line); border-radius:.5rem; overflow:hidden; }
.cb-tag-explorer-header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem;
  padding:1rem 1.15rem .5rem; background:var(--paper); }
.cb-tag-explorer-header h2 { padding:0; margin:0 0 .35rem; text-align:left; font-size:1.35rem; }
.cb-tag-explorer-header p { margin:0; color:var(--muted); font-size:.93rem; }
.cb-tag-explorer-count { color:var(--muted); font-size:.84rem; white-space:nowrap; padding-top:.3rem; }
.cb-tag-explorer-controls { display:grid; grid-template-columns:minmax(9rem,1fr) minmax(12rem,1.4fr)
  minmax(10rem,1fr) minmax(11rem,1fr) minmax(11rem,1.05fr) minmax(7rem,.55fr) auto;
  gap:.6rem; padding:.6rem 1.15rem 1rem; background:var(--paper); border:0; }
.cb-tag-explorer-field { min-width:0; display:flex; flex-direction:column; gap:.3rem;
  color:var(--ink); font-size:.88rem; }
.cb-tag-explorer-field > span { color:var(--muted); font-size:.88rem; }
.cb-tag-explorer-field input, .cb-tag-explorer-field select { width:100%; min-width:0;
  min-height:2.45rem; font-size:.94rem; }
.cb-tag-explorer-controls > button { align-self:end; min-height:2.45rem; }
.cb-tag-explorer-note { margin:0; padding:.65rem 1.15rem; border-top:1px solid var(--line);
  color:var(--muted); background:var(--wash); font-size:.88rem; }
.cb-tag-cloud { display:flex; flex-wrap:wrap; gap:.6rem .85rem; align-items:baseline; justify-content:flex-start;
  align-content:flex-start; line-height:1.3; min-height:8rem; padding:1.15rem;
  background:var(--paper); overflow-wrap:anywhere; }
.cb-tag-cloud-item { display:inline-flex; align-items:baseline; gap:.24rem; max-width:100%; }
.cb-tag-cloud-item a { font-weight:600; line-height:1.3; text-decoration:none; overflow-wrap:anywhere;
  color:var(--ink); }
.cb-tag-cloud-item a:hover, .cb-tag-cloud-item a:focus-visible { text-decoration:underline; }
.cb-tag-cloud-item small { font-size:.71rem; font-weight:400; color:var(--muted); white-space:nowrap; }
.cb-tag-explorer-empty { padding:1rem; color:var(--muted); text-align:left; }
.cb-tag-table-wrap { padding:.65rem 1.15rem 1.15rem; overflow-x:auto; }
.cb-tag-explorer-table { width:100%; border-collapse:collapse; text-align:left; }
.cb-tag-explorer-table th, .cb-tag-explorer-table td { text-align:left; padding:.42rem .65rem;
  border-bottom:1px solid var(--line); }
.cb-tag-explorer-table th { white-space:nowrap; background:var(--wash); color:var(--ink); }
.cb-tag-explorer-table td:nth-child(n+3) { font-variant-numeric:tabular-nums; }
.cb-tag-explorer-table td a { overflow-wrap:anywhere; font-weight:600; }
.cb-tag-explorer-pagination { display:flex; align-items:center; justify-content:center; gap:1rem;
  padding:.8rem 1rem; border-top:1px solid var(--line); background:var(--wash); }
.cb-tag-explorer-pagination a { padding:.25rem .65rem; border:1px solid var(--line); border-radius:.3rem; }
@media(max-width:1250px) {
 .cb-tag-explorer-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .cb-tag-explorer-controls > button { width:100%; }
}
@media(max-width:720px) {
 .cb-tag-explorer-header { flex-direction:column; gap:.25rem; }
 .cb-tag-explorer-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cb-tag-explorer-search { grid-column:span 2; }
 .cb-tag-explorer-controls > button { grid-column:span 2; }
 .cb-tag-cloud { padding:.7rem; gap:.55rem .75rem; }
}
@media(max-width:420px) {
 .cb-tag-explorer-controls { grid-template-columns:1fr; }
 .cb-tag-explorer-search, .cb-tag-explorer-controls > button { grid-column:span 1; }
}
