.rs-table-catalog{--catalog-line:var(--color-border);margin-block:1.5rem}.rs-table-catalog fieldset{border:0;margin:0;padding:0}.rs-table-catalog legend{font-size:1.1rem;font-weight:600;margin-block:.75rem}.rs-table-catalog label{display:flex;align-items:center;gap:.55rem}.rs-table-catalog input[type=checkbox]{accent-color:var(--color-primary);width:1.1rem;height:1.1rem;flex:0 0 auto}.rs-table-catalog__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:.6rem}.rs-table-catalog__option{border:1px solid var(--catalog-line);border-radius:.4rem;padding:.7rem}.rs-table-catalog__option a{display:inline-block;margin:.3rem 0 0 1.65rem;font-size:.85rem}.rs-table-catalog__option small{margin-left:auto}.rs-table-catalog details{margin-block:1rem;border-block:1px solid var(--catalog-line);padding:.8rem 0}.rs-table-catalog summary{cursor:pointer;font-weight:600}.rs-table-catalog__filters{display:flex;flex-wrap:wrap;gap:1.5rem;padding-block:1rem}.rs-table-catalog__filters fieldset{min-width:9rem}.rs-table-catalog__filters label{margin-block:.4rem}.rs-table-catalog__scroll{overflow-x:auto;max-width:100%}.rs-table-catalog table{border-collapse:collapse;width:100%;min-width:38rem}.rs-table-catalog caption{text-align:left}.rs-table-catalog th,.rs-table-catalog td{border-bottom:1px solid var(--catalog-line);text-align:left;padding:.7rem;vertical-align:top}.rs-table-catalog th{font-weight:600}.rs-table-catalog td small{display:block;font-size:.75rem;margin-top:.25rem}.rs-table-catalog__presentation{font-size:1.2rem}.rs-table-catalog__presentation strong{font-weight:700;color:var(--color-primary)}.rs-table-catalog__presentation img{width:5rem;height:5rem;object-fit:contain}.rs-table-catalog__secondary,.rs-table-catalog__note,.rs-table-catalog__sources{font-size:.88rem}.rs-table-catalog__glyphs{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.8rem}.rs-table-catalog__glyph{display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--catalog-line)}.rs-table-catalog__actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-block:1.5rem}.rs-table-catalog__reference{margin-block:2rem}.rs-table-catalog__variant+.rs-table-catalog__variant{margin-top:.35rem}.rs-table-catalog :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}

.rs-table-catalog__caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Selection controls; reference tables keep their own compact presentation. */
.rs-table-catalog__selection { color: var(--color-text); }
.rs-table-catalog__selection fieldset { min-width: 0; }
.rs-table-catalog__launch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  border: 1px solid color-mix(in srgb, var(--color-primary) 25%, var(--color-border));
  border-radius: .5rem;
  background: color-mix(in srgb, var(--color-primary) 6%, var(--color-surface));
}
.rs-table-catalog__summary { min-width: 0; }
.rs-table-catalog__selection .rs-table-catalog__summary p { margin: 0; }
.rs-table-catalog__summary-label { font-size: .8rem; color: var(--color-text-soft); }
.rs-table-catalog__selection .rs-table-catalog__summary .rs-table-catalog__selected {
  margin-block: .25rem .4rem;
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--color-heading);
  overflow-wrap: anywhere;
}
.rs-table-catalog__count { font-size: .88rem; color: var(--color-text-soft); }
.rs-table-catalog__count strong { color: var(--color-heading); }
.rs-table-catalog__selection .rs-table-catalog__start {
  flex-shrink: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  min-height: 3rem;
  padding: .75rem 1.2rem;
  border: 1px solid color-mix(in srgb, var(--color-heading) 85%, var(--color-accent));
  border-radius: .4rem;
  background: var(--color-heading);
  color: var(--color-surface);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.rs-table-catalog__selection .rs-table-catalog__start:hover:not(:disabled) {
  background: color-mix(in srgb, var(--color-heading) 85%, var(--color-accent));
}
.rs-table-catalog__selection .rs-table-catalog__start:disabled { opacity: .5; cursor: not-allowed; }
.rs-table-catalog__tables > legend { font-size: 1.25rem; margin: 0; }
.rs-table-catalog__intro { color: var(--color-text-soft); margin: .3rem 0 1rem; font-size: .9rem; }
.rs-table-catalog__selection .rs-table-catalog__search {
  display: grid;
  gap: .4rem;
  font-size: .85rem;
  margin-bottom: 1.25rem;
}
.rs-table-catalog__search input,
.rs-table-catalog__selection select {
  width: 100%;
  min-width: 0;
  min-height: 2.8rem;
  padding: .65rem .8rem;
  border: 1px solid var(--color-border);
  border-radius: .4rem;
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-size: 1rem;
}
.rs-table-catalog__selection .rs-table-catalog__table-group {
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--color-border);
}
.rs-table-catalog__selection .rs-table-catalog__table-group:first-of-type { border-top: 1px solid var(--color-border); }
.rs-table-catalog__selection summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem .25rem;
  list-style: none;
  line-height: 1.4;
}
.rs-table-catalog__selection summary::-webkit-details-marker { display: none; }
.rs-table-catalog__selection summary::after {
  content: '';
  width: .45rem;
  height: .45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin: -.25rem .25rem 0 auto;
}
.rs-table-catalog__selection details[open] > summary::after { transform: rotate(225deg); margin-top: .25rem; }
.rs-table-catalog__selection summary small {
  margin-left: auto;
  color: var(--color-text-soft);
  font-size: .8rem;
  font-weight: 400;
  white-space: nowrap;
}
.rs-table-catalog__selection summary:has(small)::after { margin-left: 0; }
.rs-table-catalog__selection summary:hover { color: var(--color-primary); }
.rs-table-catalog__selection .rs-table-catalog__options {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
  padding-block: .25rem 1.25rem;
  gap: .75rem;
}
.rs-table-catalog__selection .rs-table-catalog__option { padding: .85rem 1rem; background: var(--color-surface); }
.rs-table-catalog__selection .rs-table-catalog__option:has(input:checked) {
  border-color: color-mix(in srgb, var(--color-primary) 60%, var(--color-border));
  background: color-mix(in srgb, var(--color-primary) 5%, var(--color-surface));
}
.rs-table-catalog__selection .rs-table-catalog__option label { align-items: baseline; cursor: pointer; min-height: 2rem; }
.rs-table-catalog__selection input[type=checkbox] { margin: 0; }
.rs-table-catalog__option-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .75rem; margin-left: 1.65rem; }
.rs-table-catalog__selection .rs-table-catalog__option a { margin: 0; font-size: .8rem; }
.rs-table-catalog__selection .rs-table-catalog__option small { color: var(--color-text-soft); font-size: .75rem; }
.rs-table-catalog__selection .rs-table-catalog__refine {
  margin-block: 1.5rem 0;
  padding: 0 1rem;
  border: 1px solid var(--color-border);
  border-radius: .5rem;
  background: var(--color-surface);
}
.rs-table-catalog__selection .rs-table-catalog__filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); padding-top: 0; }
.rs-table-catalog__filters label { min-height: 2.25rem; font-size: .9rem; }
.rs-table-catalog__selection label:has(select) { flex-direction: column; align-items: stretch; justify-content: flex-start; }
.rs-table-catalog__selection + .rs-table-catalog__conventions { border: 0; font-size: .85rem; color: var(--color-text-soft); }
.rs-table-catalog__declension { display: inline-block; margin-top: .5rem; font-size: .85rem; }
.rs-table-catalog__formations th:first-child { width: 15%; }
.rs-table-catalog__formations td:nth-child(2) { width: 35%; }
.rs-table-catalog__filters fieldset:disabled { opacity: .55; }
.rs-table-catalog__selection .rs-table-catalog__summary .rs-table-catalog__axis-hint { margin-top: .5rem; font-size: .85rem; color: var(--color-text-soft); }
@media (max-width: 40rem) {
  .rs-table-catalog__launch { align-items: stretch; flex-direction: column; gap: 1rem; padding: 1rem; margin-bottom: 1.5rem; }
  .rs-table-catalog__selection summary { gap: .65rem; }
  .rs-table-catalog__selection summary small { font-size: .75rem; }
}
