/* База как атлас находок: игровой арт задаёт сцену, интерфейс остаётся инструментом поиска. */
#database {
  --atlas-ink: #f7f2ff;
  --atlas-muted: #c5b8d7;
  --atlas-edge: #a98bd44f;
  --atlas-surface: #1a1427e8;
  --atlas-surface-strong: #211930f5;
  --atlas-accent: #ad7bf5;
  --atlas-accent-ink: #ffffff;
  --atlas-shadow: 0 22px 56px #07040e78;
}
html[data-faction="elyos"] #database {
  --atlas-ink: #18334f;
  --atlas-muted: #4c6780;
  --atlas-edge: #9db8d3aa;
  --atlas-surface: #f8fcfff0;
  --atlas-surface-strong: #fffffffa;
  --atlas-accent: #2f719e;
  --atlas-accent-ink: #ffffff;
  --atlas-shadow: 0 22px 50px #466b9450;
}

/* Один кинематографичный герой вместо ещё одной панели с данными. */
#database:not(.detail-page) .db-head {
  min-height: 224px;
  margin: 16px 0 0;
  overflow: hidden;
  border: 1px solid #a781d685;
  border-radius: 23px;
  background: radial-gradient(530px 260px at 76% 20%, #7852bc5c, transparent 80%), #100d1c;
  box-shadow: inset 0 1px #ffffff33, 0 20px 56px #05020e78;
}
#database:not(.detail-page) .db-head::before {
  background: linear-gradient(90deg, #100d1c 0%, #100d1cf8 26%, #100d1c9e 55%, #100d1c11 90%),
    linear-gradient(0deg, #100a1fa8, transparent 55%);
}
#database:not(.detail-page) .db-head::after {
  content: '';
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 17px;
  width: 72px;
  height: 17px;
  border-right: 1px solid #ffffffb0;
  border-bottom: 1px solid #ffffffb0;
  opacity: .55;
  pointer-events: none;
}
#database:not(.detail-page) .db-head > div {
  width: min(61%, 680px);
  max-width: none;
  padding: 30px 36px 34px;
}
#database:not(.detail-page) .db-head .eyebrow {
  margin-bottom: 8px;
  color: #d0aaff;
  font-size: 10px;
  letter-spacing: .17em;
}
#database:not(.detail-page) .db-head h1 {
  max-width: 600px;
  color: #fffaff;
  font-size: clamp(36px, 4.4vw, 59px);
  font-weight: 600;
  line-height: 1.07;
  letter-spacing: -.06em;
  text-wrap: balance;
  text-shadow: 0 5px 24px #080410a8;
}
#database:not(.detail-page) .db-head p:not(.eyebrow) {
  max-width: 53ch;
  margin-top: 12px;
  color: #e4dcef;
  font-size: 13px;
  line-height: 1.48;
}
#database:not(.detail-page) .db-head img {
  inset: -12% -3% -6% auto;
  width: 68%;
  height: 118%;
  opacity: .94;
  object-fit: cover;
  object-position: 50% 34%;
  mask-image: linear-gradient(90deg, transparent, #000 31%);
}
#database:not(.detail-page) .db-language {
  margin-top: 15px;
  color: #e6d9fb;
  font-size: 11px;
}
#database:not(.detail-page) .db-language select {
  min-height: 32px;
  border-color: #c8a5e897;
  background: #21192ede;
  color: #f6eeff;
}

/* Поиск продолжает герой и остаётся самым крупным действием страницы. */
#database:not(.detail-page) .db-search {
  position: relative;
  z-index: 4;
  margin: -23px 22px 0;
  padding: 17px 20px 13px;
  border: 1px solid #b99bdd8c;
  border-radius: 17px;
  background: var(--atlas-surface-strong);
  box-shadow: var(--atlas-shadow), inset 0 1px #ffffff29;
  backdrop-filter: blur(22px) saturate(135%);
}
#database:not(.detail-page) .db-search > label {
  margin-bottom: 8px;
  color: var(--atlas-ink);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: -.015em;
}
#database:not(.detail-page) .db-search .search-row {
  max-width: none;
  gap: 9px;
}
#database:not(.detail-page) .db-search .search-row input {
  min-height: 52px;
  padding: 12px 17px;
  border: 1px solid #ba9dd573;
  border-radius: 11px;
  background: #0f0c1bd9;
  color: #fff;
  font-size: 14px;
  box-shadow: inset 0 1px 6px #0005;
}
#database:not(.detail-page) .db-search .search-row input::placeholder { color: #b9abc9; }
#database:not(.detail-page) .db-search .search-row input:focus-visible {
  border-color: #d7b5ff;
  outline: 3px solid #a36cf75e;
  outline-offset: 1px;
}
#database:not(.detail-page) .db-search .search-row button {
  min-width: 120px;
  min-height: 52px;
  border-radius: 11px;
  background: linear-gradient(135deg, #9a69e4, #7443c0);
  color: #fff;
  box-shadow: inset 0 1px #e1c3ff81, 0 7px 21px #6b38c575;
  font-size: 13px;
  letter-spacing: .01em;
}
#database:not(.detail-page) .db-search .search-row button:hover { filter: brightness(1.11); }
#database:not(.detail-page) .db-search .search-row button:focus-visible {
  outline: 3px solid #dcc1ff;
  outline-offset: 2px;
}
#database:not(.detail-page) .db-tabs {
  gap: 7px;
  margin: 12px 0 0;
  padding-top: 1px;
  border: 0;
}
#database:not(.detail-page) .db-tabs button {
  min-height: 33px;
  padding: 6px 13px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--atlas-muted);
  font-size: 12px;
  font-weight: 680;
}
#database:not(.detail-page) .db-tabs button.active {
  border-color: #bf9cef80;
  background: #7750b982;
  color: #fff;
  box-shadow: inset 0 1px #ffffff32;
}
#database:not(.detail-page) .db-tabs button.active::after { display: none; }
#database:not(.detail-page) .db-tabs button:hover:not(.active) { background: #ffffff10; color: #fff; }
#database:not(.detail-page) .db-tabs button:focus-visible { outline: 3px solid #d8b5ff; outline-offset: 2px; }
#database:not(.detail-page) .db-tabs button [data-count] { font-variant-numeric: tabular-nums; }

/* Паспорт охвата читается как одно спокойное уведомление. */
#database:not(.detail-page) .catalog-coverage {
  margin: 12px 0 15px;
  border: 1px solid var(--atlas-edge);
  border-radius: 11px;
  background: var(--atlas-surface);
  box-shadow: inset 0 1px #ffffff1e;
}
#database:not(.detail-page) .catalog-coverage summary {
  min-height: 42px;
  padding: 9px 15px;
  color: var(--atlas-muted);
  font-size: 11px;
}
#database:not(.detail-page) .catalog-coverage summary #catalogCoverageLabel {
  color: var(--atlas-ink);
  font-weight: 650;
}
#database:not(.detail-page) .catalog-coverage summary .coverage-more { color: var(--atlas-accent); font-weight: 750; }
#database:not(.detail-page) .catalog-coverage summary:focus-visible { outline: 3px solid var(--atlas-accent); outline-offset: 2px; }

/* Игровые иконки первыми показывают типы; подпись и число вторичны. */
#database:not(.detail-page) .db-category-section {
  margin: 0 0 19px;
  padding: 13px 16px 12px;
  border: 1px solid var(--atlas-edge);
  border-radius: 17px;
  background: var(--atlas-surface);
  box-shadow: inset 0 1px #ffffff22;
}
#database:not(.detail-page) .db-category-heading strong {
  color: var(--atlas-ink);
  font-size: 14px;
  font-weight: 760;
}
#database:not(.detail-page) .db-category-heading span { color: var(--atlas-muted); font-size: 11px; }
#database:not(.detail-page) .db-category-section .db-category-rail {
  gap: 9px;
  margin: 0;
  padding: 10px 1px 5px;
}
#database:not(.detail-page) .db-category {
  flex-basis: 150px;
  min-width: 150px;
  max-width: 150px;
  min-height: 63px;
  grid-template-columns: 47px minmax(0, 1fr);
  grid-template-rows: 24px 19px;
  gap: 1px 9px;
  padding: 7px;
  border: 1px solid #b997d65c;
  border-radius: 11px;
  background: #100d1abf;
  box-shadow: inset 0 1px #ffffff19;
}
#database:not(.detail-page) .db-category:hover,
#database:not(.detail-page) .db-category[aria-pressed="true"] {
  border-color: #d0a5ff;
  background: #38234b;
  box-shadow: inset 0 1px #ffffff34, 0 5px 17px #0005;
}
#database:not(.detail-page) .db-category-art { width: 46px; height: 46px; }
#database:not(.detail-page) .db-category-art .item-icon { width: 45px; height: 45px; border-radius: 8px; }
#database:not(.detail-page) .db-category-label { color: #f3eafd; font-size: 11px; }
#database:not(.detail-page) .db-category small { color: #c6aed8; font-size: 10px; }
#database:not(.detail-page) .db-category:focus-visible { outline: 3px solid #d8b5ff; outline-offset: 2px; }
@media (min-width: 761px) {
  #database:not(.detail-page) .db-category-section {
    margin: 0;
    padding: 13px 12px;
  }
  #database:not(.detail-page) .db-category-heading {
    display: grid;
    gap: 2px;
    align-items: start;
  }
  #database:not(.detail-page) .db-category-section .db-category-rail {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    max-height: 220px;
    padding: 8px 2px 2px;
    overflow-x: hidden;
    overflow-y: auto;
  }
  #database:not(.detail-page) .db-category {
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 48px;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: 19px 15px;
    gap: 0 7px;
    padding: 5px;
  }
  #database:not(.detail-page) .db-category-art,
  #database:not(.detail-page) .db-category-art .item-icon { width: 37px; height: 37px; }
  #database:not(.detail-page) .db-category-label { font-size: 10px; }
}

/* Рабочая область: плотная навигация и ясная иерархия результатов. */
#database:not(.detail-page) .db-workspace { gap: 20px; }
#database:not(.detail-page) .db-class-section {
  border-radius: 15px;
  background: linear-gradient(145deg, #23172ee0, #110d1de8), url('/img/art/w/citadel_violet_sky-800.webp') center / cover;
  box-shadow: inset 0 1px #ffffff37, 0 12px 30px #07040f57;
}
#database:not(.detail-page) .db-class-card { height: 68px; min-height: 68px; }
#database:not(.detail-page) .db-class-card img { height: 84px; }
#database:not(.detail-page) .db-class-unassigned { color: #f0dcbf; }
#database:not(.detail-page) .search-panel {
  border-radius: 15px;
  background: var(--atlas-surface);
  box-shadow: inset 0 1px #ffffff1e;
}
#database:not(.detail-page) .results-head {
  align-items: center;
  gap: 12px;
  margin: 0 0 11px;
  padding: 2px 0 11px;
  border-bottom: 1px solid var(--atlas-edge);
}
#database:not(.detail-page) .results-head h2 {
  color: var(--atlas-ink);
  font: 600 clamp(21px, 2.1vw, 27px)/1.2 Unbounded, Onest, sans-serif;
  letter-spacing: -.045em;
}
#database:not(.detail-page) .results-controls { gap: 7px; }
#database:not(.detail-page) .results-controls label { color: var(--atlas-muted); }
#database:not(.detail-page) .results-controls select {
  min-height: 36px;
  border-color: var(--atlas-edge);
  border-radius: 9px;
  background: var(--atlas-surface-strong);
  color: var(--atlas-ink);
  font-size: 11px;
}
#database:not(.detail-page) .results-controls #resultCount {
  color: var(--atlas-muted);
  font-size: 11px;
  font-weight: 650;
}
#database:not(.detail-page) .db-view-toggle {
  padding: 3px;
  border-color: var(--atlas-edge);
  border-radius: 9px;
  background: var(--atlas-surface);
}
#database:not(.detail-page) .db-view-toggle button {
  min-height: 29px;
  border-radius: 6px;
  color: var(--atlas-muted);
  font-size: 11px;
}
#database:not(.detail-page) .db-view-toggle button[aria-pressed="true"] {
  background: var(--atlas-accent);
  color: var(--atlas-accent-ink);
  box-shadow: inset 0 1px #ffffff50, 0 4px 10px #0003;
}
#database:not(.detail-page) .result-legend { margin-bottom: 10px; }

/* Таблица ощущается как рабочий лист атласа: закреплённое имя, спокойные строки, крупные значения. */
#database:not(.detail-page) .db-stat-matrix-controls {
  margin: 10px 0 12px;
  padding: 13px 15px;
  border-color: var(--atlas-edge);
  border-radius: 13px;
  background: var(--atlas-surface);
  box-shadow: inset 0 1px #ffffff24;
  color: var(--atlas-ink);
}
#database:not(.detail-page) .db-stat-matrix-head h3 {
  color: var(--atlas-ink);
  font-size: 14px;
}
#database:not(.detail-page) .db-stat-matrix-head p,
#database:not(.detail-page) .db-stat-matrix-status { color: var(--atlas-muted); }
#database:not(.detail-page) .db-stat-matrix-status:empty { display: none; }
#database:not(.detail-page) .db-stat-matrix-head > span {
  border-color: var(--atlas-edge);
  color: var(--atlas-muted);
}
#database:not(.detail-page) .db-stat-matrix-picker summary {
  border-color: var(--atlas-edge);
  background: #66448e8a;
  color: #fff;
}
#database:not(.detail-page) .db-stat-table-viewport {
  border-color: var(--atlas-edge);
  border-radius: 13px;
  background: #14101e;
  box-shadow: 0 14px 32px #05020e42;
}
#database:not(.detail-page) .db-stat-table th {
  padding: 13px 12px;
  border-color: #ac8cd058;
  background: #291d39;
  color: #e2d0f1;
}
#database:not(.detail-page) .db-stat-table th > button { font-size: 12px; }
#database:not(.detail-page) .db-stat-table th small { color: #c0add5; }
#database:not(.detail-page) .db-stat-table td {
  height: 67px;
  padding: 9px 12px;
  border-color: #b69bd42c;
  background: #1c1529;
}
#database:not(.detail-page) .db-stat-table tr:nth-child(even) td { background: #241b32; }
#database:not(.detail-page) .db-stat-table tbody tr:hover td,
#database:not(.detail-page) .db-stat-table tbody tr:focus-within td { background: #332243; }
#database:not(.detail-page) .db-stat-table td:first-child { box-shadow: inset 3px 0 var(--quality); }
#database:not(.detail-page) .db-stat-table-copy strong { font-size: 12px; font-weight: 750; }
#database:not(.detail-page) .db-stat-table-copy small { color: #c4b3d3; font-size: 10px; }
#database:not(.detail-page) .db-stat-table-icon { width: 46px; height: 46px; border-radius: 10px; }
#database:not(.detail-page) .db-stat-table-icon .item-icon { width: 41px; height: 41px; }
#database:not(.detail-page) .db-stat-table-value {
  color: #f8eac1;
  font: 600 13px/1.3 Unbounded, Onest, sans-serif;
  letter-spacing: -.035em;
}
#database:not(.detail-page) .db-stat-table-missing {
  color: #aa9bb8;
  font: 500 11px/1.3 Onest, sans-serif;
}

/* Свет Элиоса: перламутровый фон, чёткий тёмный текст, холодное стекло. */
html[data-faction="elyos"] #database:not(.detail-page) .db-head {
  border-color: #94b1cf;
  background: radial-gradient(540px 260px at 75% 5%, #d0e0fa, transparent), #edf5ff;
  box-shadow: inset 0 1px #fff, 0 18px 44px #567a9b45;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-head::before {
  background: linear-gradient(90deg, #f3f8ff 0%, #f3f8fff2 32%, #f3f8ff91 58%, #f3f8ff0a 91%),
    linear-gradient(0deg, #d7e9f584, transparent 50%);
}
html[data-faction="elyos"] #database:not(.detail-page) .db-head::after { border-color: #6387a3; }
html[data-faction="elyos"] #database:not(.detail-page) .db-head h1 {
  color: #173553;
  text-shadow: 0 2px 12px #ffffffa8;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-head .eyebrow { color: #2a668f; }
html[data-faction="elyos"] #database:not(.detail-page) .db-head p:not(.eyebrow) { color: #36556e; }
html[data-faction="elyos"] #database:not(.detail-page) .db-head img { opacity: .98; }
html[data-faction="elyos"] #database:not(.detail-page) .db-language { color: #294e69; }
html[data-faction="elyos"] #database:not(.detail-page) .db-language select {
  border-color: #8cb1cd;
  background: #f9fcff;
  color: #234b68;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-search {
  border-color: #9abbd1;
  box-shadow: var(--atlas-shadow), inset 0 1px #fff;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-search .search-row input {
  border-color: #a0bfd2;
  background: #fff;
  color: #1b3852;
  box-shadow: inset 0 1px 5px #547e9b1f;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-search .search-row input::placeholder { color: #668097; }
html[data-faction="elyos"] #database:not(.detail-page) .db-search .search-row input:focus-visible {
  border-color: #377da9;
  outline-color: #3c96bd5c;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-search .search-row button {
  background: linear-gradient(135deg, #3e92bd, #24648f);
  box-shadow: inset 0 1px #bfeaffaf, 0 7px 18px #39799f62;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-tabs button.active {
  border-color: #75a6c7;
  background: #dceef9;
  color: #194b71;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-tabs button:hover:not(.active) {
  background: #e7f3fa;
  color: #1d4c6a;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category-section,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-controls {
  background: #ffffffeb;
  box-shadow: inset 0 1px #fff, 0 10px 25px #5f84a42b;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category {
  border-color: #a7c5d8;
  background: #f4faff;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category:hover,
html[data-faction="elyos"] #database:not(.detail-page) .db-category[aria-pressed="true"] {
  border-color: #4b8eb7;
  background: #dceffa;
  box-shadow: inset 0 1px #fff, 0 5px 15px #6d98b339;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category-label { color: #22465f; }
html[data-faction="elyos"] #database:not(.detail-page) .db-category small { color: #547890; }
html[data-faction="elyos"] #database:not(.detail-page) .db-class-section {
  background: linear-gradient(145deg, #19425fb0, #102b46dd), url('/img/art/w/flight_over_sea-800.webp') center / cover;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-class-unassigned { color: #63522f; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-picker summary {
  border-color: #9ebfce;
  background: #e2f1fa;
  color: #265373;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-viewport {
  background: #f7fbff;
  box-shadow: 0 14px 30px #587a9930;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table th {
  border-color: #b5cbdd;
  background: #dcecf7;
  color: #214760;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table th small { color: #53748a; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table td { border-color: #c8dce9; background: #fff; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table tr:nth-child(even) td { background: #f0f7fc; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table tbody tr:hover td,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table tbody tr:focus-within td { background: #e1f0fa; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-copy strong { color: #1d405b; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-copy small { color: #58778d; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-value { color: #284c70; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-missing { color: #6b8192; }

@media (max-width: 1100px) {
  #database:not(.detail-page) .db-head > div { width: 67%; }
  #database:not(.detail-page) .db-head img { width: 74%; }
  #database:not(.detail-page) .results-head { align-items: flex-start; flex-direction: column; }
  #database:not(.detail-page) .results-controls { justify-content: flex-start; width: 100%; }
}
@media (max-width: 760px) {
  #database:not(.detail-page) .db-head { min-height: 205px; }
  #database:not(.detail-page) .db-head > div { width: 72%; padding: 23px 24px 25px; }
  #database:not(.detail-page) .db-head h1 { font-size: clamp(32px, 6vw, 45px); }
  #database:not(.detail-page) .db-head img { width: 78%; }
  #database:not(.detail-page) .db-search { margin: -18px 12px 0; padding: 14px; }
  #database:not(.detail-page) .db-category-section { position: relative; padding: 11px 12px; }
  #database:not(.detail-page) .db-category-heading { min-height: 29px; padding-right: 112px; }
  #database:not(.detail-page) .db-category-heading strong { font-size: 12px; }
  #database:not(.detail-page) .db-category-toggle:not([hidden]) {
    position: absolute;
    top: 7px;
    right: 8px;
    width: auto;
    max-width: 112px;
    min-height: 32px;
    margin: 0;
    padding: 4px 7px;
    border-color: transparent;
    background: transparent;
    color: var(--atlas-accent);
    font-size: 10px;
    text-align: right;
  }
  #database:not(.detail-page) .db-category-section .db-category-rail:not(.is-expanded) {
    display: flex;
    gap: 7px;
    max-height: none;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 1px 3px;
    scrollbar-width: none;
  }
  #database:not(.detail-page) .db-category-section .db-category-rail:not(.is-expanded)::-webkit-scrollbar { display: none; }
  #database:not(.detail-page) .db-category-section .db-category-rail:not(.is-expanded) .db-category {
    flex: 0 0 142px;
    width: 142px;
    min-width: 142px;
    max-width: 142px;
  }
  #database:not(.detail-page) .db-workspace { gap: 12px; }
  #database:not(.detail-page) .db-stat-table th:first-child,
  #database:not(.detail-page) .db-stat-table td:first-child { min-width: 188px; width: 188px; }
}
@media (max-width: 520px) {
  #database:not(.detail-page) .db-head { min-height: 132px; margin-top: 10px; border-radius: 18px; }
  #database:not(.detail-page) .db-head > div { width: 83%; padding: 13px 16px 14px; }
  #database:not(.detail-page) .db-head .eyebrow { font-size: 9px; }
  #database:not(.detail-page) .db-head h1 { font-size: clamp(28px, 8vw, 37px); }
  #database:not(.detail-page) .db-head p:not(.eyebrow) { display: none; }
  #database:not(.detail-page) .db-head img { inset: -7% -23% -5% auto; width: 98%; height: 110%; opacity: .72; object-position: 62% center; }
  #database:not(.detail-page) .db-head::before { background: linear-gradient(90deg, #100d1c 0%, #100d1ce8 44%, #100d1c46 90%); }
  #database:not(.detail-page) .db-language { margin-top: 8px; gap: 6px; font-size: 10px; }
  #database:not(.detail-page) .db-language select { min-height: 28px; padding: 3px 22px 3px 7px; font-size: 10px; }
  #database:not(.detail-page) .db-search { margin: -13px 6px 0; padding: 8px 11px; }
  #database:not(.detail-page) .db-search > label { font-size: 12px; }
  #database:not(.detail-page) .db-search .search-row input,
  #database:not(.detail-page) .db-search .search-row button { min-height: 43px; }
  #database:not(.detail-page) .db-search .search-row input { min-width: 0; padding: 8px 11px; font-size: 12px; }
  #database:not(.detail-page) .db-search .search-row button { min-width: 74px; padding-inline: 9px; font-size: 11px; }
  #database:not(.detail-page) .db-search .search-row input,
  #database:not(.detail-page) .db-search .search-row button { min-height: 39px; }
  #database:not(.detail-page) .db-tabs { gap: 3px; margin-top: 6px; }
  #database:not(.detail-page) .db-tabs button { min-height: 28px; padding: 4px 7px; font-size: 10px; }
  #database:not(.detail-page) .catalog-coverage { margin: 9px 0 11px; }
  #database:not(.detail-page) .catalog-coverage summary { min-height: 34px; padding: 6px 11px; font-size: 10px; }
  #database:not(.detail-page) .db-category-section { margin-bottom: 9px; padding: 9px 11px; }
  #database:not(.detail-page) .db-category-heading { padding-right: 106px; }
  #database:not(.detail-page) .db-category-section .db-category-rail:not(.is-expanded) .db-category { min-height: 50px; padding: 4px; }
  #database:not(.detail-page) .db-category-section:has(.db-category:only-child) .db-category-heading span,
  #database:not(.detail-page) .db-category-section:has(.db-category:only-child) .db-family-note { display: none; }
  #database:not(.detail-page) .db-category-section:has(.db-category:only-child) .db-family-tabs { display: none; }
  #database:not(.detail-page) .db-category-section:has(.db-category:only-child) {
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    align-items: center;
    gap: 5px;
  }
  #database:not(.detail-page) .db-category-section:has(.db-category:only-child) .db-category-heading {
    min-height: 0;
    padding: 0;
  }
  #database:not(.detail-page) .db-category-section:has(.db-category:only-child) .db-category-rail { min-width: 0; padding: 0; }
  #database:not(.detail-page) .db-category { min-height: 58px; }
  #database:not(.detail-page) .db-class-card { height: 62px; min-height: 62px; }
  #database:not(.detail-page) .db-class-card img { height: 78px; }
  #database:not(.detail-page) .results-head { align-items: stretch; flex-direction: column; padding-bottom: 9px; }
  #database:not(.detail-page) .results-head h2 { font-size: 20px; }
  #database:not(.detail-page) .results-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
  #database:not(.detail-page) .results-controls .db-view-toggle { grid-column: 1 / -1; grid-row: 1; }
  #database:not(.detail-page) .results-controls select { grid-column: 1; grid-row: 2; max-width: 164px; }
  #database:not(.detail-page) .results-controls #resultCount { grid-column: 2; grid-row: 2; text-align: right; }
  #database:not(.detail-page) .db-stat-matrix-controls { padding: 12px; }
  #database:not(.detail-page) .db-stat-matrix-head > span { font-size: 9px; }
  html[data-faction="elyos"] #database:not(.detail-page) .db-head::before {
    background: linear-gradient(90deg, #f3f8ff 0%, #f3f8ffef 47%, #f3f8ff4c 95%);
  }
}
@media (prefers-reduced-motion: reduce) {
  #database:not(.detail-page) .db-category,
  #database:not(.detail-page) .db-search .search-row button,
  #database:not(.detail-page) .db-tabs button { transition: none; }
}

/* На узком телефоне весь глобальный маршрут остаётся в доступной ленте под одной шапкой. */
@media (max-width: 360px) {
  body:has(#database:not(.detail-page):not([hidden])) .topbar { gap: 6px; padding: 8px 14px; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar .brand { gap: 4px; font-size: 13px; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar .brand img { width: 31px; height: 29px; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar .site-theme-switch { width: 34px; height: 34px; min-height: 34px; padding: 2px; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar .site-theme-switch img { width: 28px; height: 28px; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar .account { min-height: 34px; padding: 6px 7px; font-size: 10px; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar .account span { padding-left: 0; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar nav {
    gap: 13px;
    min-height: 30px;
    scrollbar-width: none;
  }
  body:has(#database:not(.detail-page):not([hidden])) .topbar nav::-webkit-scrollbar { display: none; }
  body:has(#database:not(.detail-page):not([hidden])) .topbar nav a { font-size: 11px; }
}
/* Ссылки на соседние наборы наблюдений NC остаются компактными. */
.db-observed-links > div { display: flex; flex-wrap: wrap; gap: 8px; }
.db-observed-links .secondary { min-height: 38px; padding: 7px 12px; font-size: 12px; gap: 10px; }
