/* Каталог: игровая витрина поверх проверяемого справочника. */
#database .db-language {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  margin-top: 15px;
  color: #e9ddff;
  font-size: 12px;
  font-weight: 650;
}
#database .db-language select {
  min-height: 35px;
  padding: 5px 28px 5px 10px;
  border: 1px solid #d7b8ff83;
  border-radius: 8px;
  background: #261936e8;
  color: #f7f0ff;
  font: 650 12px Onest, sans-serif;
}
#database .db-tabs .db-tab-label { opacity: 1; }
#database .db-tabs button.active .db-tab-label { color: inherit; }

/* Ссылки на типы видны целиком на широком экране, а не спрятаны в боковой колонке. */
#database:not(.detail-page) .db-category-section {
  min-width: 0;
  margin: 9px 0 19px;
  padding: 12px 14px 10px;
  border: 1px solid #d1a7ff29;
  border-radius: 15px;
  background: linear-gradient(115deg, #2b1c3b8a, #150f218a 55%, #24163680);
  box-shadow: inset 0 1px #ffffff14;
}
#database:not(.detail-page) .db-category-heading strong {
  color: #f2e8ff;
  font-size: 13px;
  font-weight: 750;
}
#database:not(.detail-page) .db-category-heading span {
  color: #b7a5c7;
  opacity: 1;
}
#database:not(.detail-page) .db-category-section .db-category-rail {
  display: flex;
  gap: 7px;
  max-height: none;
  margin: 0;
  padding: 9px 1px 3px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: #8c6ab3 #1c1428;
}
#database:not(.detail-page) .db-category {
  display: grid;
  flex: 0 0 141px;
  grid-template-columns: 43px minmax(0, 1fr);
  grid-template-rows: 22px 17px;
  gap: 0 8px;
  min-width: 141px;
  max-width: 141px;
  min-height: 56px;
  padding: 6px;
  border-color: #ffffff27;
  border-radius: 10px;
  background: #0f0b19b8;
  box-shadow: inset 0 1px #ffffff13;
  text-align: left;
}
#database:not(.detail-page) .db-category:hover,
#database:not(.detail-page) .db-category[aria-pressed="true"] {
  border-color: #c19aff;
  background: #312048;
  box-shadow: inset 0 1px #ffffff22, 0 7px 20px #0004;
}
#database:not(.detail-page) .db-category-art { grid-column: 1; grid-row: 1 / 3; width: 42px; height: 42px; }
#database:not(.detail-page) .db-category-art .item-icon { width: 40px; height: 40px; border-radius: 8px; }
#database:not(.detail-page) .db-category-label { grid-column: 2; grid-row: 1; color: #f0e8fb; font-size: 11px; }
#database:not(.detail-page) .db-category small { grid-column: 2; grid-row: 2; color: #b8a3ce; font-size: 10px; }

/* Портрет класса занимает карточку; счётчик наблюдений остаётся в углу. */
#database:not(.detail-page) .db-class-section {
  padding: 13px 12px 14px;
  border-color: #c6a3f73d;
  border-radius: 14px;
  background: linear-gradient(150deg, #23172fd9, #150f20d9), url('/img/art/w/citadel_violet_sky-800.webp') center / cover;
  box-shadow: inset 0 1px #ffffff1b, 0 12px 26px #0003;
}
#database:not(.detail-page) .db-class-heading { margin-bottom: 11px; }
#database:not(.detail-page) .db-class-heading h2 { color: #f5edff; font-size: 15px; }
#database:not(.detail-page) .db-class-heading p:last-child { color: #b9abca; font-size: 10px; line-height: 1.4; }
#database:not(.detail-page) #dbAllClasses [data-i18n="db.classes.all"] { display: inline; }
#database:not(.detail-page) #dbAllClasses [aria-hidden="true"] { display: none; }
#database:not(.detail-page) .db-class-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
#database:not(.detail-page) .db-class-card {
  height: 83px;
  min-height: 83px;
  border-color: #b395d14f;
  border-radius: 11px;
  background: radial-gradient(circle at 55% 12%, #6b418566, transparent 62%), #160f22;
  box-shadow: inset 0 1px #ffffff1b;
}
#database:not(.detail-page) .db-class-card::after {
  background: linear-gradient(0deg, #0c0918f5 4%, #0c09188a 42%, transparent 90%);
}
#database:not(.detail-page) .db-class-card img {
  top: -8px;
  left: -11px;
  width: 130px;
  height: 100px;
  object-fit: contain;
  object-position: left top;
  opacity: .95;
  filter: drop-shadow(0 8px 12px #080510);
}
#database:not(.detail-page) .db-class-copy { padding: 0; }
#database:not(.detail-page) .db-class-copy strong {
  right: 7px;
  bottom: 7px;
  left: 7px;
  max-height: 2.3em;
  color: #fff;
  font-size: 11px;
  line-height: 1.15;
  text-shadow: 0 2px 6px #000;
}
#database:not(.detail-page) .db-class-copy small {
  top: 5px;
  right: 5px;
  height: 20px;
  padding: 2px 5px;
  border-color: #e6c5ff7a;
  border-radius: 6px;
  background: #170e25e8;
  color: #fff;
  font-size: 10px;
  line-height: 14px;
}
#database:not(.detail-page) .db-class-card[data-observed="false"] img { opacity: .75; }
#database:not(.detail-page) .db-class-card:hover,
#database:not(.detail-page) .db-class-card[aria-pressed="true"] {
  border-color: #dbb7ff;
  box-shadow: inset 0 1px #ffffff38, 0 0 0 1px #bb86f5, 0 8px 22px #5a2d9d55;
}

/* В выдаче характеристики читаются как параметры предмета, без сетки декоративных рамок. */
#database:not(.detail-page) .results { gap: 12px; }
#database:not(.detail-page) .result {
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 17px;
  min-height: 184px;
  padding: 17px;
  border-color: color-mix(in srgb, var(--quality) 41%, #ffffff18);
  border-radius: 17px;
  background: radial-gradient(250px 190px at 0 0, color-mix(in srgb, var(--quality) 20%, transparent), transparent 85%), linear-gradient(135deg, #2a1b3add, #171121ed 75%);
  box-shadow: inset 0 1px #ffffff26, 0 16px 35px #08051161;
}
#database:not(.detail-page) .result::before { display: block; width: 3px; background: var(--quality); }
#database:not(.detail-page) .result:hover {
  border-color: color-mix(in srgb, var(--quality) 62%, transparent);
  background: radial-gradient(260px 160px at 0 0, color-mix(in srgb, var(--quality) 21%, transparent), transparent 88%), #21172e;
  box-shadow: inset 0 1px #ffffff28, 0 16px 32px #0006;
}
#database:not(.detail-page) .result-art {
  width: 100px;
  height: 100px;
  border-radius: 16px;
  background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--quality) 35%, #3b2a48), #160e21 80%);
  box-shadow: inset 0 1px #ffffff66, 0 0 30px color-mix(in srgb, var(--quality) 29%, transparent);
}
#database:not(.detail-page) .result-art .item-icon { width: 88px; height: 88px; }
#database:not(.detail-page) .result-main { gap: 4px; padding-bottom: 10px; }
#database:not(.detail-page) .result-overline { color: #c5b7d5; font-size: 10px; }
#database:not(.detail-page) .result-quality { padding: 0 6px; border: 1px solid color-mix(in srgb, var(--quality) 50%, transparent); border-radius: 5px; }
#database:not(.detail-page) .result strong {
  display: -webkit-box;
  margin: 1px 0;
  overflow: hidden;
  color: #fff;
  font-size: 17px;
  line-height: 1.28;
  text-overflow: clip;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#database:not(.detail-page) .result-meta { color: #ddcfea; font-size: 12px; }
#database:not(.detail-page) .result-stats { margin-top: 8px; gap: 8px; }
#database:not(.detail-page) .result-stat {
  min-height: 52px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, var(--quality) 38%, #ffffff14);
  border-left: 2px solid var(--quality);
  border-radius: 8px;
  background: color-mix(in srgb, var(--quality) 9%, #1b1429);
}
#database:not(.detail-page) .result-stat-label { color: #d6c3e8; font-size: 11px; }
#database:not(.detail-page) .result-stat b {
  color: #fff;
  font-family: Unbounded, Onest, sans-serif;
  font-size: 17px;
  font-weight: 580;
  line-height: 1.1;
}
#database:not(.detail-page) .result-stat-source { color: #c7b4d8; font-size: 11px; }
#database:not(.detail-page) .result-footer { color: #d4c5e4; font-size: 11px; line-height: 1.4; }
#database:not(.detail-page) .result-id { color: #a695b8; font-size: 10px; }

/* На карточке и в сравнении язык остаётся доступным, не занимая место иллюстрации. */
#database.detail-page .db-head {
  display: flex;
  min-height: 48px;
  margin: 12px auto 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
#database.detail-page .db-head::before,
#database.detail-page .db-head img,
#database.detail-page .db-head .eyebrow,
#database.detail-page .db-head p:not(.eyebrow) { display: none; }
#database.detail-page .db-head > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  width: 100%;
  max-width: none;
  padding: 0;
}
#database.detail-page .db-head h1 { display: none; }
#database.detail-page .db-language { margin: 0; }

#database .detail-history {
  padding: 15px 18px;
  border: 1px solid #b992dc40;
  border-radius: 12px;
  background: linear-gradient(135deg, #2a1d37a8, #181120b8);
}
#database .detail-history summary {
  display: list-item;
  color: #f1e7fa;
  cursor: pointer;
}
#database .detail-history summary strong { margin-right: 12px; font-size: 14px; }
#database .detail-history summary span { color: #c6abd8; font-size: 12px; }
#database .detail-history-note, #database .detail-history-empty {
  margin: 12px 0;
  color: #bca9cc;
  font-size: 12px;
  line-height: 1.5;
}
#database .detail-history-list { display: grid; gap: 10px; margin: 12px 0 0; padding-left: 21px; }
#database .detail-history-entry { padding: 0 0 10px 5px; border-bottom: 1px solid #ffffff1d; }
#database .detail-history-entry:last-child { border-bottom: 0; padding-bottom: 0; }
#database .detail-history-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 12px; }
#database .detail-history-head time { color: #f1e2ff; font-size: 12px; font-weight: 750; }
#database .detail-history-head span { color: #b9a7c9; font-size: 11px; }
#database .detail-history-partial { margin: 6px 0 0; color: #cdb7dc; font-size: 11px; line-height: 1.4; }
#database .detail-history-entry dl { display: grid; grid-template-columns: minmax(110px, .8fr) 1.2fr; gap: 5px 12px; margin: 10px 0 0; font-size: 12px; }
#database .detail-history-entry dt { color: #bba8cb; }
#database .detail-history-entry dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #eadff3; }

html[data-faction="elyos"] #database .db-language { color: #244966; }
html[data-faction="elyos"] #database .db-language select {
  border-color: #77a9cb;
  background: #f5fbffeb;
  color: #173a54;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category-section {
  border-color: #76a9ca73;
  background: linear-gradient(115deg, #fffffff0, #e2f1f9dc);
  box-shadow: inset 0 1px #fff, 0 9px 22px #537f9b20;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category-section .db-category-rail {
  scrollbar-color: #5c9ac1 #e1edf5;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category-heading strong { color: #214765; }
html[data-faction="elyos"] #database:not(.detail-page) .db-category-heading span { color: #587992; }
html[data-faction="elyos"] #database:not(.detail-page) .db-category {
  border-color: #86b1cd;
  background: #f7fcff;
  box-shadow: inset 0 1px #fff;
}
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: #3b94c4;
  background: #d5edfb;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-category-label { color: #224864; }
html[data-faction="elyos"] #database:not(.detail-page) .db-category small { color: #5c7b92; }
html[data-faction="elyos"] #database:not(.detail-page) .db-class-section {
  border-color: #73accb;
  background: linear-gradient(150deg, #194361e0, #092942e8), url('/img/art/w/flight_over_sea-800.webp') center / cover;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-class-card {
  border-color: #9ccde28c;
  background: radial-gradient(circle at 50% 10%, #589fc38c, transparent 66%), #12344e;
}
html[data-faction="elyos"] #database:not(.detail-page) .db-class-card::after { background: linear-gradient(0deg, #0b2b41f5, #0b2b4177 44%, transparent 90%); }
html[data-faction="elyos"] #database:not(.detail-page) .result {
  --grade-ink: #37566f;
  border-color: color-mix(in srgb, var(--quality) 34%, #b7b9d5);
  background: radial-gradient(270px 175px at 0 0, color-mix(in srgb, var(--quality) 18%, transparent), transparent 88%), linear-gradient(125deg, #ffffffef, #f3f1ffed 64%, #e8f3ffeb);
  box-shadow: inset 0 1px #fff, 0 18px 34px #69709b31;
}
html[data-faction="elyos"] #database:not(.detail-page) .result:hover {
  border-color: color-mix(in srgb, var(--quality) 66%, #777ab9);
  background: radial-gradient(270px 175px at 0 0, color-mix(in srgb, var(--quality) 22%, transparent), transparent 88%), #f9f7ff;
  box-shadow: inset 0 1px #fff, 0 20px 37px #6b6caa42;
}
html[data-faction="elyos"] #database:not(.detail-page) .result strong,
html[data-faction="elyos"] #database:not(.detail-page) .result-stat b { color: #243454; }
html[data-faction="elyos"] #database:not(.detail-page) .result-overline,
html[data-faction="elyos"] #database:not(.detail-page) .result-meta { color: #485b79; }
html[data-faction="elyos"] #database:not(.detail-page) .result-stat-label,
html[data-faction="elyos"] #database:not(.detail-page) .result-stat-source,
html[data-faction="elyos"] #database:not(.detail-page) .result-footer,
html[data-faction="elyos"] #database:not(.detail-page) .result-id { color: #52617d; }
html[data-faction="elyos"] #database:not(.detail-page) .result-stat { border-color: color-mix(in srgb, var(--quality) 33%, #c4cbdf); border-left-color: var(--quality); background: #edf0fac9; }
html[data-faction="elyos"] #database:not(.detail-page) .result-art {
  border-color: var(--quality);
  background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--quality) 23%, #28465d), #17354c 75%);
  box-shadow: inset 0 1px #ffffff7a, 0 7px 17px #3d66864d;
}
html[data-faction="elyos"] #database:not(.detail-page) .result[data-quality="Epic"] { --grade-ink: #73429c; }
html[data-faction="elyos"] #database:not(.detail-page) .result[data-quality="Rare"] { --grade-ink: #265d91; }
html[data-faction="elyos"] #database:not(.detail-page) .result[data-quality="Special"] { --grade-ink: #805617; }
html[data-faction="elyos"] #database:not(.detail-page) .result[data-quality="Common"] { --grade-ink: #4d5967; }
html[data-faction="elyos"] #database.detail-page .db-head h1 { color: #315f7e; }
html[data-faction="elyos"] #database .detail-history {
  border-color: #7eb0cb;
  background: linear-gradient(135deg, #f8fcffed, #e7f4fbeb);
}
html[data-faction="elyos"] #database .detail-history summary,
html[data-faction="elyos"] #database .detail-history-head time,
html[data-faction="elyos"] #database .detail-history-entry dd { color: #214862; }
html[data-faction="elyos"] #database .detail-history summary span,
html[data-faction="elyos"] #database .detail-history-note,
html[data-faction="elyos"] #database .detail-history-empty,
html[data-faction="elyos"] #database .detail-history-head span,
html[data-faction="elyos"] #database .detail-history-partial,
html[data-faction="elyos"] #database .detail-history-entry dt { color: #52758e; }
html[data-faction="elyos"] #database .detail-history-entry { border-bottom-color: #78a9c548; }

@media (max-width: 760px) {
  #database:not(.detail-page) .db-class-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #database:not(.detail-page) .db-class-card { height: 69px; min-height: 69px; }
  #database:not(.detail-page) .db-class-card img { top: -7px; left: -14px; width: 108px; height: 82px; }
  #database:not(.detail-page) .db-class-copy strong { right: 4px; bottom: 4px; left: 4px; font-size: 9px; }
  #database:not(.detail-page) .db-class-copy small { top: 3px; right: 3px; height: 17px; padding: 1px 4px; font-size: 9px; line-height: 13px; }
  #database:not(.detail-page) .result { min-height: 160px; }
}
@media (max-width: 520px) {
  #database:not(.detail-page) .db-head { min-height: 168px; }
  #database:not(.detail-page) .db-head > div { padding: 15px 17px; }
  #database:not(.detail-page) .db-head p:not(.eyebrow) { max-width: 240px; }
  #database .db-language { gap: 7px; margin-top: 11px; font-size: 11px; }
  #database .db-language select { min-height: 32px; font-size: 11px; }
  #database:not(.detail-page) .db-category-section { margin: 7px 0 13px; padding: 9px 10px 8px; }
  #database:not(.detail-page) .db-category { flex-basis: 128px; min-width: 128px; max-width: 128px; }
  #database:not(.detail-page) .db-class-section { padding: 9px; }
  #database:not(.detail-page) .db-class-heading { margin-bottom: 7px; }
  #database:not(.detail-page) .db-class-heading p:last-child { display: none; }
  #database:not(.detail-page) .db-class-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #database:not(.detail-page) .db-class-card { height: 72px; min-height: 72px; }
  #database:not(.detail-page) .db-class-card img { width: 112px; height: 88px; }
  #database:not(.detail-page) .db-class-copy strong { font-size: 11px; }
  #database:not(.detail-page) .result { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; min-height: 166px; padding: 11px; }
  #database:not(.detail-page) .result-art { width: 72px; height: 72px; }
  #database:not(.detail-page) .result-art .item-icon { width: 64px; height: 64px; }
  #database:not(.detail-page) .result strong { font-size: 15px; }
  #database:not(.detail-page) .result-stat { min-height: 48px; padding: 5px; }
  #database:not(.detail-page) .result-stat b { font-size: 14px; }
  #database:not(.detail-page) .result-stat-label { font-size: 10px; }
  #database.detail-page .db-head > div { justify-content: flex-end; }
  #database.detail-page .db-head h1 { display: none; }
  #database.detail-page .db-language { white-space: nowrap; }
  #database .detail-history { padding: 13px 14px; }
  #database .detail-history-entry dl { grid-template-columns: 1fr; gap: 2px; }
  #database .detail-history-entry dd { margin-bottom: 8px; }
}
@media (max-width: 385px) {
  #database:not(.detail-page) .catalog-evidence > .evidence-primary {
    display: flex;
    flex-wrap: wrap;
    column-gap: 6px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #database .db-class-card, #database .result, #database .db-category { transition: none; }
}

#database .db-stat-min[hidden], #database #dbStatMinError[hidden] { display: none; }
#database .db-stat-min small { color: #b9aaca; font-size: 10px; font-weight: 400; line-height: 1.4; }
#database .db-stat-min #dbStatMinError { color: #ffd093; }
#database #dbStatMin[aria-invalid="true"] { border-color: #dfa961; }
html[data-faction="elyos"] #database .db-stat-min small { color: #455f79; }
html[data-faction="elyos"] #database .db-stat-min #dbStatMinError { color: #9a4c19; }

#database .db-family-tabs[hidden], #database .db-family-note[hidden] { display: none; }
#database .db-family-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 11px 0 2px; }
#database .db-family-tabs button { display: inline-flex; align-items: baseline; gap: 7px; min-height: 44px; padding: 8px 11px; border: 1px solid #a78ac758; border-radius: 8px; background: #ffffff0b; color: #dfd2f1; font: 700 11px/1.25 Onest, sans-serif; cursor: pointer; }
#database .db-family-tabs button small { color: #b5a6ca; font: 600 10px/1.25 Onest, sans-serif; }
#database .db-family-tabs button:hover, #database .db-family-tabs button[aria-pressed="true"] { border-color: #bb9aff; background: #64439480; color: #fff; }
#database .db-family-tabs button[aria-pressed="true"] small { color: #f2eaff; }
#database .db-family-note { margin: 4px 0 0; color: #a99abb; font-size: 10px; line-height: 1.4; }
html[data-faction="elyos"] #database .db-family-tabs button {
  border-color: #a1bfd4;
  background: linear-gradient(135deg, #ffffffec, #e7f2f9df);
  color: #28506f;
  box-shadow: inset 0 1px #fff, 0 4px 12px #4f77901c;
}
html[data-faction="elyos"] #database .db-family-tabs button small { color: #4a657b; }
html[data-faction="elyos"] #database .db-family-tabs button:hover,
html[data-faction="elyos"] #database .db-family-tabs button[aria-pressed="true"] {
  border-color: #226c99;
  background: #276d9d;
  color: #fff;
  box-shadow: 0 7px 16px #407ca543;
}
html[data-faction="elyos"] #database .db-family-tabs button:hover small,
html[data-faction="elyos"] #database .db-family-tabs button[aria-pressed="true"] small { color: #f4fbff; }
html[data-faction="elyos"] #database .db-family-note { color: #3c607b; font-size: 11px; }
html[data-faction="elyos"] #database .db-family-tabs button:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .result:focus-visible {
  outline: 3px solid #1b6597;
  outline-offset: 3px;
}

/* Элийская База: светлое стекло у охвата и просмотра, игровая иконка на тёмном паспарту. */
:root[data-faction="elyos"] #database .catalog-evidence > div {
  border-color: #a9c9df;
  background: radial-gradient(260px 130px at 0 0, #c9dafa85, transparent), linear-gradient(135deg, #ffffffed, #e4f0f9e8);
  box-shadow: inset 0 1px #fff, 0 14px 30px #476b9129;
  backdrop-filter: blur(18px) saturate(125%);
}
:root[data-faction="elyos"] #database .catalog-evidence > .evidence-primary { border-left-color: #7560aa; }
:root[data-faction="elyos"] #database .catalog-evidence > .evidence-detail { border-left-color: #2c79a8; }
:root[data-faction="elyos"] #database .catalog-evidence strong { color: #183a55; }
:root[data-faction="elyos"] #database .catalog-evidence span { color: #3c607b; }
html[data-faction="elyos"] #database .db-preview {
  border-left-color: #93b9d3;
  background: radial-gradient(420px 280px at 10% 0, #d6e3f8a6, transparent), linear-gradient(155deg, #f9fcff, #e4f0f9);
  color: #183a55;
  box-shadow: -22px 0 70px #254c6d73;
}
html[data-faction="elyos"] #database .db-preview::backdrop { background: #102a4199; }
html[data-faction="elyos"] #database .db-preview-close {
  width: 44px;
  height: 44px;
  border-color: #8fb4cf;
  background: #ffffffd9;
  color: #234e6d;
}
html[data-faction="elyos"] #database .db-preview-close:hover { background: #dceefa; }
html[data-faction="elyos"] #database .db-preview-close:focus-visible,
html[data-faction="elyos"] #database .db-preview-actions a:focus-visible { outline: 3px solid #1b6597; outline-offset: 3px; }
html[data-faction="elyos"] #database .db-preview-art {
  background: radial-gradient(circle, color-mix(in srgb, var(--quality) 24%, #284c67), #18354c 75%);
  box-shadow: inset 0 1px #ffffff70, 0 12px 26px #3d668655;
}
html[data-faction="elyos"] #database .db-preview-kicker,
html[data-faction="elyos"] #database .db-preview-facts dt,
html[data-faction="elyos"] #database .db-preview-note,
html[data-faction="elyos"] #database .db-preview-pending,
html[data-faction="elyos"] #database .db-preview-loading,
html[data-faction="elyos"] #database .db-preview-description,
html[data-faction="elyos"] #database .db-preview-source { color: #3c607b; }
html[data-faction="elyos"] #database .db-preview-title h2,
html[data-faction="elyos"] #database .db-preview-section h3,
html[data-faction="elyos"] #database .db-preview-facts dd { color: #183a55; }
html[data-faction="elyos"] #database .db-preview-grade {
  --grade-ink: #37566f;
  background: color-mix(in srgb, var(--quality) 12%, white);
  color: var(--grade-ink);
}
html[data-faction="elyos"] #database .db-preview-card[data-quality="Epic"] .db-preview-grade { --grade-ink: #73429c; }
html[data-faction="elyos"] #database .db-preview-card[data-quality="Rare"] .db-preview-grade { --grade-ink: #265d91; }
html[data-faction="elyos"] #database .db-preview-card[data-quality="Special"] .db-preview-grade { --grade-ink: #805617; }
html[data-faction="elyos"] #database .db-preview-card[data-quality="Common"] .db-preview-grade { --grade-ink: #4d5967; }
html[data-faction="elyos"] #database .db-preview-context {
  border-color: #afcce0;
  background: #eaf4fb;
  color: #2a506b;
}
html[data-faction="elyos"] #database .db-preview-section { border-top-color: #a9c9df; }
html[data-faction="elyos"] #database .db-preview-facts { border-color: #a9c9df; }
html[data-faction="elyos"] #database .db-preview-facts dt,
html[data-faction="elyos"] #database .db-preview-facts dd { border-bottom-color: #b8d2e4; overflow-wrap: anywhere; }
html[data-faction="elyos"] #database .db-preview-facts dt { background: #e8f3fa; }
html[data-faction="elyos"] #database .db-preview-base-stats .db-base-stats { border-color: #9bbfd8; }
html[data-faction="elyos"] #database .db-preview-base-stats .db-base-stats dt,
html[data-faction="elyos"] #database .db-preview-base-stats .db-base-stats dd { border-bottom-color: #b8d2e4; }
html[data-faction="elyos"] #database .db-preview-base-stats .db-base-stats dt { background: #e8f3fa; color: #3c607b; }
html[data-faction="elyos"] #database .db-preview-base-stats .db-base-stats dd { background: #f8fcff; color: #183a55; }
html[data-faction="elyos"] #database .db-preview-actions {
  border-top-color: #a0c2d9;
  background: linear-gradient(180deg, #f8fcfff2, #e6f2fafb);
  box-shadow: 0 -16px 28px #6a8aa32e;
}
html[data-faction="elyos"] #database .db-preview-full { border-color: #276d9d; background: #276d9d; color: #fff; }
html[data-faction="elyos"] #database .db-preview-full:hover { background: #185a84; }
html[data-faction="elyos"] #database .db-preview-compare { border-color: #89b0cc; background: #fff; color: #234e6d; }
html[data-faction="elyos"] #database .db-preview-compare:hover { background: #deeff9; }
@media (max-width: 600px) {
  :root[data-faction="elyos"] #database .catalog-evidence span { font-size: 11px; }
  :root[data-faction="elyos"] #database .catalog-evidence .evidence-detail strong { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-faction="elyos"] #database:not(.detail-page) .result:hover { transform: none; }
}

/* Соседние наблюдённые предметы — навигация по типу, без ранжирования силы. */
#database .detail-alternatives[hidden] { display: none; }
#database .detail-alternatives { padding: 20px; border: 1px solid #ad89dc55; border-radius: 12px; background: linear-gradient(135deg, #241831cb, #130f1eb8); }
#database .detail-alternatives h3 { margin-bottom: 6px; }
#database .detail-alternatives-note { max-width: 85ch; margin: 0 0 15px; color: #bdaece; font-size: 11px; line-height: 1.5; }
#database .detail-alternatives-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
#database .detail-alternative {
  --quality: #9b8db2;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px 12px;
  min-width: 0;
  padding: 11px;
  border: 1px solid color-mix(in srgb, var(--quality) 48%, #433050);
  border-top: 2px solid var(--quality);
  border-radius: 9px;
  background: linear-gradient(125deg, color-mix(in srgb, var(--quality) 12%, #1c1328), #110e1b);
}
#database .detail-alternative[data-quality="Epic"] { --quality: #ba89ff; }
#database .detail-alternative[data-quality="Rare"] { --quality: #78afff; }
#database .detail-alternative[data-quality="Special"] { --quality: #eac685; }
#database .detail-alternative[data-quality="Common"] { --quality: #afa9ba; }
#database .detail-alternative-icon { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid var(--quality); border-radius: 8px; background: color-mix(in srgb, var(--quality) 15%, #16101c); }
#database .detail-alternative-icon .item-icon { width: 52px; height: 52px; border-radius: 6px; }
#database .detail-alternative-main { display: grid; align-content: start; min-width: 0; gap: 2px; }
#database .detail-alternative-grade { color: var(--quality); font-size: 10px; font-weight: 800; text-transform: uppercase; }
#database .detail-alternative-main strong { overflow-wrap: anywhere; color: #f4ecff; font-size: 14px; line-height: 1.3; }
#database .detail-alternative-meta, #database .detail-alternative-stats { color: #c0b4cf; font-size: 11px; line-height: 1.4; }
#database .detail-alternative-stats { color: #e2d5ef; }
#database .detail-alternative-actions { display: flex; flex-wrap: wrap; grid-column: 1 / -1; gap: 7px 15px; padding-top: 7px; border-top: 1px solid #ffffff20; }
#database .detail-alternative-actions a, #database .detail-alternatives-all { color: #dcc4ff; font-size: 11px; font-weight: 750; text-decoration: none; }
#database .detail-alternative-actions a:hover, #database .detail-alternatives-all:hover { text-decoration: underline; }
#database .detail-alternative-actions a:focus-visible, #database .detail-alternatives-all:focus-visible { outline: 2px solid #e7ccff; outline-offset: 3px; }
#database .detail-alternatives-all { display: inline-block; margin-top: 13px; }

#database .compare-picker .compare-all-types { display: flex; align-items: center; gap: 8px; width: fit-content; margin: 11px 0 0; cursor: pointer; }
#database .compare-picker .compare-all-types[hidden] { display: none; }
#database .compare-picker .compare-all-types input { flex: none; width: 16px; min-height: 16px; height: 16px; margin: 0; padding: 0; accent-color: #b78ff0; }
#database .compare-picker .compare-all-types span { font-size: 11px; }
#database .compare-stat-delta { display: block; margin-top: 4px; color: #cfb1fb; font-size: 10px; font-weight: 700; }

html[data-faction="elyos"] #database .detail-alternatives { border-color: #7bb1ca; background: linear-gradient(130deg, #f8fcffed, #e7f2faeb); }
html[data-faction="elyos"] #database .detail-alternatives h3 { color: #183950; }
html[data-faction="elyos"] #database .detail-alternatives-note, html[data-faction="elyos"] #database .detail-alternative-meta { color: #4e728a; }
html[data-faction="elyos"] #database .detail-alternative { border-color: color-mix(in srgb, var(--quality) 50%, #a8c5d9); border-top-color: var(--quality); background: linear-gradient(125deg, color-mix(in srgb, var(--quality) 9%, white), #edf7fd); }
html[data-faction="elyos"] #database .detail-alternative[data-quality="Epic"] { --quality: #7540ac; }
html[data-faction="elyos"] #database .detail-alternative[data-quality="Rare"] { --quality: #215b95; }
html[data-faction="elyos"] #database .detail-alternative[data-quality="Special"] { --quality: #795012; }
html[data-faction="elyos"] #database .detail-alternative[data-quality="Common"] { --quality: #50586a; }
html[data-faction="elyos"] #database .detail-alternative-main strong { color: #183d59; }
html[data-faction="elyos"] #database .detail-alternative-stats { color: #315b75; }
html[data-faction="elyos"] #database .detail-alternative-actions { border-top-color: #7aa5be66; }
html[data-faction="elyos"] #database .detail-alternative-actions a, html[data-faction="elyos"] #database .detail-alternatives-all { color: #265f88; }
html[data-faction="elyos"] #database .compare-stat-delta { color: #305e8c; }

/* Поисковая метка объясняет совпадение, не выдавая справочный ярлык за строку клиента. */
#database .db-query-insight:empty {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
}
#database .db-query-insight {
  display: grid;
  gap: 4px;
  margin: -3px 0 14px;
  padding: 10px 14px;
  border: 1px solid #a280d35c;
  border-left: 3px solid #b78cf7;
  border-radius: 8px;
  background: #21172ed9;
  color: #e8dafa;
  font-size: 12px;
  line-height: 1.45;
}
#database .db-query-insight p { margin: 0; }
#database .db-query-alias-note { color: #cbb9df; }
#database:not(.detail-page) .result-match {
  display: inline-flex;
  align-self: flex-start;
  max-width: 100%;
  margin-top: 3px;
  padding: 3px 8px;
  border: 1px solid color-mix(in srgb, var(--quality) 45%, #847190);
  border-radius: 6px;
  background: color-mix(in srgb, var(--quality) 13%, #21172e);
  color: #eadff8;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
html[data-faction="elyos"] #database .db-query-insight {
  border-color: #75b7d1;
  border-left-color: #9ce6ff;
  background: #11334c;
  color: #f1faff;
}
html[data-faction="elyos"] #database .db-query-alias-note { color: #c6e2ee; }
html[data-faction="elyos"] #database:not(.detail-page) .result-quality {
  border-color: color-mix(in srgb, var(--quality) 55%, #a3c3d8);
  color: var(--grade-ink);
  background: color-mix(in srgb, var(--quality) 12%, #fff);
}
html[data-faction="elyos"] #database:not(.detail-page) .result-stat {
  border-top-color: color-mix(in srgb, var(--quality) 53%, #a3c3d8);
  background: transparent;
}
html[data-faction="elyos"] #database:not(.detail-page) .result-match {
  border-color: color-mix(in srgb, var(--quality) 46%, #9bc0d7);
  background: color-mix(in srgb, var(--quality) 10%, #edf6fc);
  color: #2a506b;
}

@media (max-width: 760px) {
  #database .detail-alternatives-list { grid-template-columns: 1fr; }
}
@media (max-width: 390px) {
  #database .detail-alternatives { padding: 13px; }
  #database .detail-alternative { grid-template-columns: 48px minmax(0, 1fr); gap: 7px 9px; padding: 9px; }
  #database .detail-alternative-icon { width: 48px; height: 48px; }
  #database .detail-alternative-icon .item-icon { width: 43px; height: 43px; }
}

/* На телефоне все наблюдённые типы доступны через раскрываемую сетку. */
#database:not(.detail-page) .db-category-toggle { display: none; }
@media (max-width: 760px) {
  #database:not(.detail-page) .db-category-section .db-category-rail {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 7px;
    max-height: none;
    overflow: visible;
    padding: 10px 1px 1px;
  }
  #database:not(.detail-page) .db-category-rail:not(.is-expanded) .db-category:not(.is-preview) { display: none; }
  #database:not(.detail-page) .db-category {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 64px;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 1px 7px;
    padding: 7px;
  }
  #database:not(.detail-page) .db-category-art { width: 43px; height: 43px; }
  #database:not(.detail-page) .db-category-art .item-icon { width: 41px; height: 41px; }
  #database:not(.detail-page) .db-category-label {
    display: -webkit-box;
    overflow: hidden;
    font-size: 11px;
    line-height: 1.2;
    text-overflow: clip;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #database:not(.detail-page) .db-category small { font-size: 10px; }
  #database:not(.detail-page) .db-category-toggle:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    margin-top: 8px;
    padding: 9px 14px;
    border: 1px solid #b999e766;
    border-radius: 9px;
    background: #5c3c8f4d;
    color: #f6eaff;
    font: 700 12px/1.3 Onest, sans-serif;
    cursor: pointer;
  }
  #database:not(.detail-page) .db-category-toggle:hover { border-color: #c9a3ff; background: #67468d9c; }
  #database:not(.detail-page) .db-category-toggle:focus-visible { outline: 3px solid #ddbbff; outline-offset: 2px; }
  html[data-faction="elyos"] #database:not(.detail-page) .db-category-toggle {
    border-color: #76a9ca;
    background: #e5f3fc;
    color: #245877;
  }
  html[data-faction="elyos"] #database:not(.detail-page) .db-category-toggle:hover { border-color: #3683b0; background: #d4ecfa; }
  html[data-faction="elyos"] #database:not(.detail-page) .db-category-toggle:focus-visible { outline-color: #1b6597; }
}
@media (max-width: 520px) {
  #database:not(.detail-page) .db-category-section .db-category-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #database:not(.detail-page) .db-category { grid-template-columns: 40px minmax(0, 1fr); gap: 1px 6px; }
  #database:not(.detail-page) .db-category-art { width: 39px; height: 39px; }
  #database:not(.detail-page) .db-category-art .item-icon { width: 38px; height: 38px; }
}

/* Предмет: главное — реальная иконка и наблюдённые параметры, а не имитация 3D-внешности. */
#database .detail-card.item-detail {
  --item-ink: #f4edf9;
  --item-muted: #c2b4cf;
  --item-line: #ffffff25;
  --item-surface: #151020;
  --item-panel: #21182c;
  display: block;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--quality) 58%, #372747);
  border-top: 4px solid var(--quality);
  border-radius: 20px;
  background: var(--item-surface);
  color: var(--item-ink);
  box-shadow: 0 22px 64px #07050d80, inset 0 1px #ffffff25;
}
#database #dbPreviewStatus { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#database .item-detail h2,
#database .item-detail h3 { color: var(--item-ink); font-family: Onest, sans-serif; letter-spacing: 0; }
#database .item-detail h2 { margin: 0 0 11px; font-size: 17px; font-weight: 700; }
#database .item-detail h3 { margin: 0 0 10px; font-size: 13px; font-weight: 700; }
#database .item-hero {
  display: grid;
  grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
  grid-template-areas: 'media title' 'media stats' 'media compare';
  column-gap: 32px;
  row-gap: 15px;
  padding: 29px 34px 30px;
  background: radial-gradient(440px 250px at 3% 26%, color-mix(in srgb, var(--quality) 17%, transparent), transparent 78%), linear-gradient(120deg, #241a32, #151020 64%);
}
#database .item-hero-title { grid-area: title; min-width: 0; }
#database .item-hero-overline { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--item-muted); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
#database .item-grade { padding: 4px 9px; border: 1px solid var(--quality); border-radius: 7px; background: color-mix(in srgb, var(--quality) 20%, #1c1326); color: color-mix(in srgb, var(--quality) 80%, white); font-size: 11px; font-weight: 800; letter-spacing: 0; text-transform: none; }
#database .item-hero-title h1 { margin: 12px 0 8px; overflow-wrap: anywhere; color: var(--item-ink); font: 600 clamp(29px, 3vw, 42px)/1.12 Unbounded, Onest, sans-serif; letter-spacing: -.045em; }
#database .item-name-source { margin: 0; color: var(--item-muted); font-size: 11px; line-height: 1.4; }
#database .item-identity { display: flex; flex-wrap: wrap; gap: 6px 0; margin-top: 15px; color: var(--item-ink); font-size: 12px; font-weight: 650; }
#database .item-identity span + span::before { content: '·'; padding: 0 9px; color: var(--item-muted); }
#database .item-identity span:last-child { color: var(--item-muted); font-weight: 500; }
#database .item-media { grid-area: media; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 20px 15px; border: 1px solid var(--item-line); border-radius: 17px; background: linear-gradient(155deg, #342443a6, #150f22b8); box-shadow: inset 0 1px #ffffff25; }
#database .item-media-icon { display: grid; place-items: center; width: 215px; height: 215px; border: 1px solid color-mix(in srgb, var(--quality) 65%, #251a32); border-radius: 19px; background: radial-gradient(circle, color-mix(in srgb, var(--quality) 23%, #24162c), #100b1a 78%); box-shadow: 0 13px 32px #07040b87, inset 0 1px #ffffff30; }
#database .item-media-icon .item-icon { width: 178px; height: 178px; border: 2px solid var(--quality); border-radius: 14px; object-fit: cover; box-shadow: 0 0 24px color-mix(in srgb, var(--quality) 25%, transparent); }
#database .item-media-notes { display: grid; gap: 5px; max-width: 24ch; margin-top: 14px; color: var(--item-muted); font-size: 11px; line-height: 1.35; text-align: center; }
#database .item-media-notes span:first-child { color: var(--item-ink); font-weight: 650; }
#database .item-hero-stats { grid-area: stats; min-width: 0; padding: 16px 0 11px; border-top: 1px solid var(--item-line); border-bottom: 1px solid var(--item-line); }
#database .item-hero-stats h2 { margin-bottom: 8px; color: var(--item-muted); font-size: 12px; }
#database .item-stat-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
#database .item-stat { min-width: 0; padding-left: 12px; border-left: 2px solid var(--quality); }
#database .item-stat dt { overflow-wrap: anywhere; color: var(--item-muted); font-size: 11px; line-height: 1.3; }
#database .item-stat dd { margin: 4px 0 0; color: var(--item-ink); font: 600 28px/1.12 Unbounded, Onest, sans-serif; font-variant-numeric: tabular-nums; }
#database .item-stat-source, #database .item-stat-empty { margin: 11px 0 0; color: var(--item-muted); font-size: 10px; line-height: 1.4; }
#database .item-compare { grid-area: compare; display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 42px; padding: 8px 17px; border: 1px solid color-mix(in srgb, var(--quality) 68%, transparent); border-radius: 9px; background: color-mix(in srgb, var(--quality) 20%, #21162b); color: var(--item-ink); font-size: 12px; font-weight: 750; text-decoration: none; }
#database .item-compare:hover { background: color-mix(in srgb, var(--quality) 32%, #21162b); }
#database .item-compare:focus-visible, #database .item-evidence summary:focus-visible { outline: 3px solid var(--quality); outline-offset: 3px; }
#database .item-detail-body { display: grid; gap: 19px; padding: 27px 34px 33px; border-top: 1px solid var(--item-line); background: var(--item-surface); }
#database .item-description, #database .item-obtaining, #database .item-extra-stats { padding: 15px 18px; border: 1px solid var(--item-line); border-radius: 13px; background: var(--item-panel); }
#database .item-description p, #database .item-obtaining p { margin: 0; color: var(--item-ink); font-size: 13px; line-height: 1.5; }
#database .item-description .item-unknown { color: var(--item-muted); }
#database .item-description-text { white-space: pre-line; }
#database .item-extra-stats .db-base-stats { border-color: var(--item-line); }
#database .item-extra-stats .db-base-stats dt,
#database .item-extra-stats .db-base-stats dd { border-bottom-color: var(--item-line); }
#database .item-extra-stats .db-base-stats dt { background: #ffffff0b; color: var(--item-muted); }
#database .item-extra-stats .db-base-stats dd { background: #ffffff08; color: var(--item-ink); }
#database .item-source-note { margin: 11px 0 0; color: var(--item-muted); font-size: 11px; line-height: 1.5; }
#database .item-properties > h2 { margin-bottom: 12px; }
#database .item-property-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 11px; }
#database .item-property-group { min-width: 0; padding: 16px 18px; border: 1px solid var(--item-line); border-radius: 13px; background: var(--item-panel); }
#database .item-property-group dl, #database .item-evidence dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; margin: 0; font-size: 12px; line-height: 1.42; }
#database .item-property-group dt, #database .item-evidence dt { min-width: 0; color: var(--item-muted); }
#database .item-property-group dd, #database .item-evidence dd { min-width: 0; margin: 0; color: var(--item-ink); font-weight: 650; text-align: right; }
#database .item-detail .detail-alternatives { margin: 0; border-radius: 13px; }
#database .item-detail .detail-history { margin: 0; }
#database .item-evidence { padding: 15px 18px; border: 1px solid var(--item-line); border-radius: 13px; background: var(--item-panel); }
#database .item-evidence summary { color: var(--item-ink); font-size: 13px; font-weight: 700; cursor: pointer; }
#database .item-evidence[open] summary { margin-bottom: 17px; }
#database .item-evidence dd { text-align: left; font-weight: 500; }

html[data-faction="elyos"] #database .detail-card.item-detail {
  --item-ink: #1a3951;
  --item-muted: #4b6880;
  --item-line: #719dbb68;
  --item-surface: #f3f9ff;
  --item-panel: #ffffffa8;
  box-shadow: 0 22px 60px #55749330, inset 0 1px #fff;
}
html[data-faction="elyos"] #database .item-hero { background: radial-gradient(480px 270px at 5% 13%, color-mix(in srgb, var(--quality) 16%, #d9eafe), transparent 85%), linear-gradient(125deg, #edf7ff, #f7fbff 72%); }
html[data-faction="elyos"] #database .item-media { background: linear-gradient(145deg, #e6f3fcdb, #ffffff8f); box-shadow: inset 0 1px #fff; }
html[data-faction="elyos"] #database .item-media-icon { background: radial-gradient(circle, color-mix(in srgb, var(--quality) 22%, #284763), #102b42 78%); box-shadow: 0 10px 28px #3158724d, inset 0 1px #ffffff55; }
html[data-faction="elyos"] #database .item-grade { background: color-mix(in srgb, var(--quality) 18%, white); color: var(--item-grade-ink, #724395); }
html[data-faction="elyos"] #database .item-detail[data-quality="Epic"] { --item-grade-ink: #714098; }
html[data-faction="elyos"] #database .item-detail[data-quality="Rare"] { --item-grade-ink: #285e91; }
html[data-faction="elyos"] #database .item-detail[data-quality="Special"] { --item-grade-ink: #795314; }
html[data-faction="elyos"] #database .item-detail[data-quality="Common"] { --item-grade-ink: #4d5864; }
html[data-faction="elyos"] #database .item-compare { background: color-mix(in srgb, var(--quality) 17%, #ffffff); color: #234561; }
html[data-faction="elyos"] #database .item-compare:hover { background: color-mix(in srgb, var(--quality) 29%, #ffffff); }
html[data-faction="elyos"] #database .item-extra-stats .db-base-stats dt { background: #e6f1f9; }
html[data-faction="elyos"] #database .item-extra-stats .db-base-stats dd { background: #f9fcff; }

@media (max-width: 760px) {
  #database .item-hero { grid-template-columns: minmax(0,1fr); grid-template-areas: 'title' 'media' 'stats' 'compare'; row-gap: 12px; padding: 16px; }
  #database .item-hero-title h1 { margin: 9px 0 6px; font-size: clamp(24px, 7vw, 31px); }
  #database .item-identity { margin-top: 9px; font-size: 11px; }
  #database .item-media { display: grid; grid-template-columns: 111px minmax(0,1fr); gap: 12px; justify-items: start; padding: 10px; }
  #database .item-media-icon { width: 108px; height: 108px; border-radius: 12px; }
  #database .item-media-icon .item-icon { width: 94px; height: 94px; border-radius: 8px; }
  #database .item-media-notes { max-width: none; margin: 0; text-align: left; }
  #database .item-hero-stats { padding: 11px 0 10px; }
  #database .item-stat-list { gap: 8px; }
  #database .item-stat dd { font-size: 21px; }
  #database .item-compare { width: 100%; min-height: 44px; }
  #database .item-detail-body { gap: 15px; padding: 17px 16px 22px; }
  #database .item-property-groups { grid-template-columns: 1fr; }
  #database .item-property-group { padding: 14px; }
  #database .item-property-group dl { grid-template-columns: minmax(0,1fr) minmax(45px,auto); font-size: 11px; }
  #database .item-evidence dl { grid-template-columns: 1fr; gap: 3px; }
  #database .item-evidence dd { margin-bottom: 9px; }
}
@media (max-width: 390px) {
  #database .item-hero { padding: 13px; }
  #database .item-hero-overline { font-size: 9px; }
  #database .item-media { grid-template-columns: 98px minmax(0,1fr); gap: 9px; }
  #database .item-media-icon { width: 96px; height: 96px; }
  #database .item-media-icon .item-icon { width: 84px; height: 84px; }
  #database .item-media-notes { font-size: 10px; }
  #database .item-stat dt { font-size: 10px; }
  #database .item-stat dd { font-size: 20px; }
}

/* Каталог начинается с предметов; полнота наблюдений раскрывается по запросу. */
#database:not(.detail-page) .catalog-coverage {
  margin: 9px 0 12px;
  border: 1px solid #b28bda5c;
  border-radius: 12px;
  background: linear-gradient(110deg, #291b39d9, #171121df);
  box-shadow: inset 0 1px #ffffff1c;
}
#database:not(.detail-page) .catalog-coverage > summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 15px;
  color: #e9dcfa;
  font: 650 12px/1.35 Onest, sans-serif;
  cursor: pointer;
  list-style: none;
}
#database:not(.detail-page) .catalog-coverage > summary::-webkit-details-marker { display: none; }
#database:not(.detail-page) .catalog-coverage > summary:focus-visible,
#database:not(.detail-page) .mobile-filter-summary:focus-visible,
#database:not(.detail-page) .db-filter-close:focus-visible,
#database:not(.detail-page) .db-filter-actions button:focus-visible,
#database:not(.detail-page) .result-legend summary:focus-visible { outline: 3px solid #c39aff; outline-offset: 2px; }
#database:not(.detail-page) .catalog-coverage #catalogCoverageLabel { flex: 1; min-width: 0; }
#database:not(.detail-page) .catalog-coverage .coverage-more { color: #c9addf; font-size: 11px; white-space: nowrap; }
#database:not(.detail-page) .catalog-coverage .coverage-chevron { color: #c9addf; transition: transform .2s; }
#database:not(.detail-page) .catalog-coverage[open] .coverage-chevron { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) {
  #database:not(.detail-page) .catalog-coverage .coverage-chevron { transition: none; }
}
#database:not(.detail-page) .catalog-evidence {
  gap: 8px;
  margin: 0;
  padding: 0 9px 9px;
}
#database:not(.detail-page) .catalog-evidence > div { min-height: 0; padding: 11px 13px; }
#database:not(.detail-page) .db-category-section { margin: 0 0 13px; }
#database:not(.detail-page) .db-family-tabs { margin: 7px 0 0; }
#database:not(.detail-page) .db-family-tabs button { min-height: 34px; padding: 6px 9px; }
#database:not(.detail-page) .db-sidebar { min-width: 0; }
#database:not(.detail-page) .search-panel { padding: 10px; }
#database:not(.detail-page) .search-panel .db-class-section { margin: 0 0 14px; }
#database:not(.detail-page) .db-filter-close,
#database:not(.detail-page) .db-filter-actions { display: none; }
#database:not(.detail-page) .result-legend { margin: -5px 0 10px; color: #bfaed1; font: 500 11px/1.45 Onest, sans-serif; }
#database:not(.detail-page) .result-legend summary { width: fit-content; color: #cdaaf2; cursor: pointer; }
#database:not(.detail-page) .result-legend p { max-width: 74ch; margin: 7px 0 0; }
#database:not(.detail-page) .result-main { padding-bottom: 7px; }
#database:not(.detail-page) .result-footer { margin-top: 5px; }

html[data-faction="elyos"] #database:not(.detail-page) .catalog-coverage {
  border-color: #9cbfd9;
  background: linear-gradient(120deg, #ffffffed, #e4f1fae9);
  box-shadow: inset 0 1px #fff, 0 8px 20px #537f9b20;
}
html[data-faction="elyos"] #database:not(.detail-page) .catalog-coverage > summary { color: #224561; }
html[data-faction="elyos"] #database:not(.detail-page) .catalog-coverage .coverage-more,
html[data-faction="elyos"] #database:not(.detail-page) .catalog-coverage .coverage-chevron,
html[data-faction="elyos"] #database:not(.detail-page) .result-legend summary { color: #286e9b; }
html[data-faction="elyos"] #database:not(.detail-page) .result-legend { color: #4f6b80; }
html[data-faction="elyos"] #database:not(.detail-page) .catalog-coverage > summary:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .mobile-filter-summary:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-filter-close:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-filter-actions button:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .result-legend summary:focus-visible { outline-color: #2478a8; }

@media (max-width: 760px) {
  #database:not(.detail-page) .db-head { min-height: 130px; }
  #database:not(.detail-page) .db-search { margin-bottom: 0; }
  #database:not(.detail-page) .db-tabs { display: flex; flex-wrap: nowrap; gap: 13px; margin-top: 9px; }
  #database:not(.detail-page) .db-tabs button { min-width: 0; white-space: nowrap; }
  #database:not(.detail-page) .catalog-coverage { margin: 7px 0 9px; }
  #database:not(.detail-page) .catalog-coverage > summary { min-height: 42px; padding: 8px 10px; font-size: 11px; }
  #database:not(.detail-page) .catalog-coverage .coverage-more { font-size: 10px; }
  #database:not(.detail-page) .catalog-evidence { grid-template-columns: 1fr; }
  #database:not(.detail-page) .db-category-section { margin: 0 0 9px; padding: 8px; }
  #database:not(.detail-page) .db-family-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
  #database:not(.detail-page) .db-family-note { display: none; }
  #database:not(.detail-page) .db-family-tabs button { flex: none; min-height: 32px; font-size: 10px; }
  #database:not(.detail-page) .db-category-section .db-category-rail { gap: 5px; padding-top: 6px; }
  #database:not(.detail-page) .db-category { min-height: 54px; padding: 5px; }
  #database:not(.detail-page) .db-category-art { width: 38px; height: 38px; }
  #database:not(.detail-page) .db-category-art .item-icon { width: 36px; height: 36px; }
  #database:not(.detail-page) .db-category-toggle:not([hidden]) { min-height: 36px; margin-top: 5px; padding: 7px; }
  #database:not(.detail-page) .db-workspace { gap: 0; }
  #database:not(.detail-page) .db-sidebar { height: auto; }
  #database:not(.detail-page) .search-panel {
    position: static;
    z-index: auto;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    max-height: none;
    margin: 0 0 9px;
    padding: 0;
    overflow: visible;
    border: 1px solid #ae8ee6;
    border-radius: 13px;
    background: #21152fe6;
    box-shadow: inset 0 1px #ffffff1b;
  }
  #database:not(.detail-page) .search-panel:not([open]) { min-width: 0; }
  #database:not(.detail-page) .search-panel:not([open]) > :not(summary) { display: none; }
  #database:not(.detail-page) .mobile-filter-summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 14px;
    border-bottom: 1px solid #ffffff20;
    background: #2a1c39;
    color: #f4e9ff;
    font-size: 12px;
  }
  #database:not(.detail-page) .search-panel:not([open]) .mobile-filter-summary { border-bottom: 0; }
  #database:not(.detail-page) .mobile-filter-summary #dbFilterSummary { max-width: 245px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #database:not(.detail-page) .mobile-filter-summary .filter-chevron { flex: none; margin-left: auto; }
  #database:not(.detail-page) .db-filter-close { display: block; min-height: 36px; margin: 9px 12px 0 auto; padding: 6px 12px; border: 1px solid #b990e48a; border-radius: 7px; background: #ffffff10; color: #eadcff; font: 700 11px Onest, sans-serif; cursor: pointer; }
  #database:not(.detail-page) .search-panel .db-class-section { margin: 9px 11px 12px; }
  #database:not(.detail-page) .db-filter-head { margin: 0 13px 10px; }
  #database:not(.detail-page) .db-filter-note { margin-bottom: 10px; }
  #database:not(.detail-page) .db-filter-actions { display: block; padding: 9px 12px 12px; border-top: 1px solid #ffffff24; background: #241731f7; }
  #database:not(.detail-page) .db-filter-actions button { width: 100%; min-height: 44px; border: 1px solid #b68afa; border-radius: 9px; background: #8b5cf6; color: #fff; font: 750 13px Onest, sans-serif; cursor: pointer; }
  #database:not(.detail-page) .result-legend { margin: -3px 0 8px; }
  html[data-faction="elyos"] #database:not(.detail-page) .search-panel { border-color: #79aed0; background: #eff7fcee; box-shadow: inset 0 1px #fff, 0 8px 20px #537f9b20; }
  html[data-faction="elyos"] #database:not(.detail-page) .mobile-filter-summary { border-bottom-color: #91bad3; background: #e7f3fb; color: #204760; }
  html[data-faction="elyos"] #database:not(.detail-page) .db-filter-close { border-color: #85aecb; background: #fff; color: #245c80; }
  html[data-faction="elyos"] #database:not(.detail-page) .db-filter-actions { border-top-color: #9cbfd7; background: #eaf5fced; }
  html[data-faction="elyos"] #database:not(.detail-page) .db-filter-actions button { border-color: #357ba8; background: #2878a9; }
}
@media (max-width: 520px) {
  #database:not(.detail-page) .db-head { min-height: 118px; }
  #database:not(.detail-page) .db-head > div { padding: 12px 16px; }
  #database:not(.detail-page) .db-head h1 { font-size: 25px; }
  #database:not(.detail-page) .db-language { margin-top: 7px; }
  #database:not(.detail-page) .db-search { padding: 9px 10px 8px; }
  #database:not(.detail-page) .db-search .search-row input { min-height: 39px; }
  #database:not(.detail-page) .db-search .search-row button { min-height: 39px; }
  #database:not(.detail-page) .db-tabs { gap: 9px; }
  #database:not(.detail-page) .db-tabs button { padding-bottom: 7px; font-size: 11px; }
  #database:not(.detail-page) .db-category { grid-template-columns: 38px minmax(0,1fr); }
  #database:not(.detail-page) .db-category-label { font-size: 10px; }
  #database:not(.detail-page) .result { min-height: 166px; }
  #database:not(.detail-page) .result-footer { font-size: 10px; }
}

/* Подсказка прикреплена к поисковой строке и сохраняет ширину всей строки на телефоне. */
#database:not(.detail-page) .db-search .search-row { position: relative; }
#database:not(.detail-page) .db-suggest[hidden] { display: none; }
#database:not(.detail-page) .db-suggest {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  max-height: min(62vh, 420px);
  overflow: hidden;
  border: 1px solid #bd95ef;
  border-radius: 12px;
  background: #1a1129;
  box-shadow: 0 18px 44px #080511bd, inset 0 1px #ffffff23;
}
#database:not(.detail-page) #dbSuggestList { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
#database:not(.detail-page) .db-suggest-option {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 66px;
  padding: 7px 11px;
  border-bottom: 1px solid #ffffff19;
  cursor: pointer;
}
#database:not(.detail-page) .db-suggest-option:hover,
#database:not(.detail-page) .db-suggest-option[aria-selected="true"] { background: #583b78a8; }
#database:not(.detail-page) .db-suggest-art,
#database:not(.detail-page) .db-suggest-art .item-icon { width: 38px; height: 38px; }
#database:not(.detail-page) .db-suggest-art .item-icon { object-fit: contain; border: 1px solid #b28ad4a0; border-radius: 7px; }
#database:not(.detail-page) .db-suggest-copy { display: grid; min-width: 0; gap: 2px; }
#database:not(.detail-page) .db-suggest-copy strong { overflow: hidden; color: #f8f0ff; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
#database:not(.detail-page) .db-suggest-meta,
#database:not(.detail-page) .db-suggest-source,
#database:not(.detail-page) .db-suggest-english { overflow: hidden; color: #c8b5dc; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#database:not(.detail-page) .db-suggest-meta { display: flex; flex-wrap: wrap; gap: 2px 6px; white-space: normal; }
#database:not(.detail-page) .db-suggest-type { max-width: 100%; }
#database:not(.detail-page) .db-suggest-id { flex: none; color: #ebd7ff; font-size: 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
#database:not(.detail-page) .db-suggest-source { overflow: visible; color: #d1baee; line-height: 1.25; text-overflow: clip; white-space: normal; }
#database:not(.detail-page) .db-suggest-empty { margin: 0; padding: 13px; color: #dac9ed; font-size: 11px; line-height: 1.45; }
#database:not(.detail-page) .db-suggest-empty[hidden] { display: none; }
#database:not(.detail-page) .db-suggest .db-suggest-all {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 40px;
  padding: 9px 13px;
  border: 0;
  border-top: 1px solid #a584c064;
  border-radius: 0;
  background: #2a1b3d;
  color: #eddcff;
  font: 700 11px Onest, sans-serif;
  text-align: left;
  cursor: pointer;
}
#database:not(.detail-page) .db-suggest .db-suggest-all:hover { background: #3b2559; }
#database:not(.detail-page) .db-suggest .db-suggest-all:focus-visible { outline: 2px solid #d5b9ff; outline-offset: -3px; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest { border-color: #79b5d3; background: #f6fbff; box-shadow: 0 16px 39px #24506e69; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-option { border-bottom-color: #9cc5db82; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-option:hover,
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-option[aria-selected="true"] { background: #dceffc; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-copy strong { color: #183b54; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-meta,
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-source,
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-english,
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-empty { color: #3f6681; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest-id { color: #20516f; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest .db-suggest-all { border-top-color: #9dc2d8; background: #e3f2fb; color: #245a7d; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest .db-suggest-all:hover { background: #cfe9f8; }
html[data-faction="elyos"] #database:not(.detail-page) .db-suggest .db-suggest-all:focus-visible { outline-color: #267dac; }
@media (max-width: 520px) {
  #database:not(.detail-page) .db-suggest { max-height: min(46dvh, 320px); }
}

/* Сравнение выбирается из текущей выдачи; ссылка карточки и действие — соседние элементы. */
#database:not(.detail-page) .result-entry { --quality: #8f7ab9; display: flex; flex-direction: column; min-width: 0; }
#database:not(.detail-page) .result-entry[data-quality="Epic"] { --quality: #ba89ff; }
#database:not(.detail-page) .result-entry[data-quality="Rare"] { --quality: #78afff; }
#database:not(.detail-page) .result-entry[data-quality="Special"] { --quality: #eac685; }
#database:not(.detail-page) .result-entry[data-quality="Common"] { --quality: #afa9ba; }
#database:not(.detail-page) .result-entry > .result { flex: 1; border-radius: 15px 15px 0 0; }
#database:not(.detail-page) .result-entry > .result:hover { transform: none; }
#database:not(.detail-page) .result-entry-actions {
  display: block;
  min-height: 48px;
  margin-top: -1px;
  padding: 0;
  border: 1px solid #d7bcf328;
  border-top-color: color-mix(in srgb, var(--quality) 33%, transparent);
  border-radius: 0 0 15px 15px;
  background: #1b1227;
}
#database:not(.detail-page) .result-entry[data-selected="true"] > .result,
#database:not(.detail-page) .result-entry[data-selected="true"] > .result-entry-actions { border-color: var(--quality); }
#database:not(.detail-page) .result-compare-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  padding: 9px 17px;
  border: 0;
  border-radius: 0 0 15px 15px;
  background: transparent;
  color: #f0e1ff;
  font: 700 12px/1.3 Onest, sans-serif;
  text-align: left;
}
#database:not(.detail-page) .result-compare-button::after { content: '↔'; margin-left: 12px; color: var(--quality); font-size: 18px; line-height: 1; }
#database:not(.detail-page) .result-compare-button:hover,
#database:not(.detail-page) .result-compare-button[aria-pressed="true"] { background: color-mix(in srgb, var(--quality) 23%, #25182f); }
#database:not(.detail-page) .result-compare-button:focus-visible,
#database:not(.detail-page) .db-compare-selection button:focus-visible,
#database:not(.detail-page) .db-compare-selection a:focus-visible { outline: 3px solid #dfc5ff; outline-offset: 2px; }
#database:not(.detail-page) .db-compare-selection[hidden] { display: none; }
#database:not(.detail-page) .db-compare-selection {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid #b892e47d;
  border-radius: 14px;
  background: linear-gradient(115deg, #332143f2, #1b1228f5);
  box-shadow: inset 0 1px #ffffff20, 0 12px 28px #08051138;
}
#database:not(.detail-page) .db-compare-selection-head,
#database:not(.detail-page) .db-compare-selection-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#database:not(.detail-page) .db-compare-selection-head > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 11px; }
#database:not(.detail-page) .db-compare-selection-head strong { color: #f9ecff; font: 750 14px Onest, sans-serif; }
#database:not(.detail-page) .db-compare-selection-head span { color: #cdb9df; font-size: 11px; }
#database:not(.detail-page) .db-compare-selection-head button { padding: 4px 7px; border: 0; background: none; color: #d3b7ef; font: 700 11px Onest, sans-serif; }
#database:not(.detail-page) .db-compare-selection-head button:hover { text-decoration: underline; }
#database:not(.detail-page) .db-compare-selection-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 11px; }
#database:not(.detail-page) .db-compare-selection-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 30px;
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 64px;
  padding: 7px;
  border: 1px solid color-mix(in srgb, var(--quality, #a58abf) 55%, #ffffff20);
  border-radius: 9px;
  background: #ffffff0a;
}
#database:not(.detail-page) .db-compare-selection-item[data-quality="Epic"] { --quality: #ba89ff; }
#database:not(.detail-page) .db-compare-selection-item[data-quality="Rare"] { --quality: #78afff; }
#database:not(.detail-page) .db-compare-selection-item[data-quality="Special"] { --quality: #eac685; }
#database:not(.detail-page) .db-compare-selection-item[data-quality="Common"] { --quality: #afa9ba; }
#database:not(.detail-page) .db-compare-selection-icon,
#database:not(.detail-page) .db-compare-selection-icon .item-icon { width: 42px; height: 42px; }
#database:not(.detail-page) .db-compare-selection-icon .item-icon { object-fit: contain; border-color: var(--quality, #a58abf); border-radius: 7px; }
#database:not(.detail-page) .db-compare-selection-copy { display: grid; min-width: 0; gap: 2px; }
#database:not(.detail-page) .db-compare-selection-copy small { color: #c6addc; font-size: 10px; }
#database:not(.detail-page) .db-compare-selection-copy strong { overflow: hidden; color: #f8eefe; font-size: 12px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
#database:not(.detail-page) .db-compare-selection-copy span { overflow: hidden; color: #cdbddd; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
#database:not(.detail-page) .db-compare-selection-remove { width: 30px; min-height: 38px; border: 0; border-radius: 6px; background: #ffffff0a; color: #f4e7ff; font-size: 20px; }
#database:not(.detail-page) .db-compare-selection-remove:hover { background: #ffffff25; }
#database:not(.detail-page) .db-compare-selection-placeholder { display: grid; place-items: center; border-style: dashed; color: #c9b6d9; font-size: 11px; }
#database:not(.detail-page) .db-compare-selection-foot { margin-top: 10px; }
#database:not(.detail-page) .db-compare-selection-foot p { margin: 0; color: #c9b9d9; font-size: 11px; line-height: 1.4; }
#database:not(.detail-page) .db-compare-selection-foot a { flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 13px; border-radius: 8px; background: #9a6ae8; color: #fff; font: 750 12px Onest, sans-serif; text-decoration: none; }
#database:not(.detail-page) .db-compare-selection-foot a:hover { background: #af80f5; }
#database:not(.detail-page) .db-compare-selection-foot a[hidden] { display: none; }
#database:not(.detail-page) .db-compare-selection-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
html[data-faction="elyos"] #database:not(.detail-page) .result-entry-actions { border-color: #babbd8; border-top-color: #c6c1e3; background: #f4f2fc; }
html[data-faction="elyos"] #database:not(.detail-page) .result-compare-button { background: transparent; color: #334568; }
html[data-faction="elyos"] #database:not(.detail-page) .result-compare-button:hover,
html[data-faction="elyos"] #database:not(.detail-page) .result-compare-button[aria-pressed="true"] { background: #e5e2f7; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection { border-color: #9cbbd3; background: linear-gradient(115deg, #fff, #eaf3fa); box-shadow: inset 0 1px #fff, 0 12px 28px #46799c2a; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-head strong,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-copy strong { color: #224660; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-head span,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-head button,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-copy small,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-copy span,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-foot p,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-placeholder { color: #476b84; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-item { background: #ffffffb8; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-remove { background: #e7f1f8; color: #245b80; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-foot a { background: #2878a9; }
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection-foot a:hover { background: #1d618d; }
html[data-faction="elyos"] #database:not(.detail-page) .result-compare-button:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection button:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-compare-selection a:focus-visible { outline-color: #246f9c; }
@media (max-width: 600px) {
  #database:not(.detail-page) .db-compare-selection-items { grid-template-columns: 1fr; }
  #database:not(.detail-page) .db-compare-selection-foot { align-items: stretch; flex-direction: column; gap: 8px; }
  #database:not(.detail-page) .db-compare-selection-foot a { width: 100%; }
}

/* У умения нет статов предмета: его карточка занимает ровно нужную высоту. */
#database:not(.detail-page) #dbResults > .result {
  grid-template-columns: 76px minmax(0, 1fr);
  min-height: 128px;
  padding: 13px;
}
#database:not(.detail-page) #dbResults > .result .result-art { width: 76px; height: 76px; }
#database:not(.detail-page) #dbResults > .result .result-art .item-icon { width: 68px; height: 68px; }
@media (max-width: 520px) {
  #database:not(.detail-page) #dbResults > .result { grid-template-columns: 64px minmax(0, 1fr); min-height: 116px; padding: 10px; }
  #database:not(.detail-page) #dbResults > .result .result-art { width: 64px; height: 64px; }
  #database:not(.detail-page) #dbResults > .result .result-art .item-icon { width: 56px; height: 56px; }
}

/* Плотный режим оставляет источник и действия на виду, но использует те же записи и фильтры. */
#database:not(.detail-page) .db-view-toggle { display: inline-flex; flex: none; gap: 2px; padding: 3px; border: 1px solid #b998dc61; border-radius: 9px; background: #24182fe6; }
#database:not(.detail-page) .db-view-toggle button { min-height: 30px; padding: 5px 9px; border: 0; border-radius: 6px; background: transparent; color: #c9b6db; font: 700 11px Onest, sans-serif; cursor: pointer; }
#database:not(.detail-page) .db-view-toggle button[aria-pressed="true"] { background: #8655ca; color: #fff; box-shadow: 0 3px 12px #7d42c077; }
#database:not(.detail-page) .db-view-toggle button:disabled { opacity: .4; cursor: not-allowed; }
#database:not(.detail-page) .db-view-toggle button:focus-visible { outline: 3px solid #d6b6ff; outline-offset: 2px; }
html[data-faction="elyos"] #database:not(.detail-page) .db-view-toggle { border-color: #aeb5d7; background: #f5f4ffdf; }
html[data-faction="elyos"] #database:not(.detail-page) .db-view-toggle button { color: #52617e; }
html[data-faction="elyos"] #database:not(.detail-page) .db-view-toggle button[aria-pressed="true"] { background: #5b69bd; color: #fff; box-shadow: 0 3px 11px #777bb65e; }
html[data-faction="elyos"] #database:not(.detail-page) .db-view-toggle button:focus-visible { outline-color: #4265a8; }

#database:not(.detail-page) #dbResults[data-view="rows"] { grid-template-columns: minmax(0, 1fr); gap: 8px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-entry { display: grid; grid-template-columns: minmax(0, 1fr) 166px; align-items: stretch; overflow: hidden; border: 1px solid color-mix(in srgb, var(--quality) 37%, #ffffff30); border-radius: 12px; background: #1d142ae8; box-shadow: inset 0 1px #ffffff1c; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-entry > .result { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; min-height: 103px; padding: 10px 12px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-entry > .result:hover { background: color-mix(in srgb, var(--quality) 8%, transparent); }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-art { width: 62px; height: 62px; border-radius: 10px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-art .item-icon { width: 54px; height: 54px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, 210px); grid-template-rows: repeat(3, auto) auto; align-content: center; gap: 1px 12px; min-width: 0; padding: 0; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-overline { grid-column: 1; grid-row: 1; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result strong { grid-column: 1; grid-row: 2; margin: 0; font-size: 14px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-meta { grid-column: 1; grid-row: 3; font-size: 11px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-stats { grid-column: 2; grid-row: 1 / 4; align-self: center; margin: 0; gap: 5px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-stat { min-height: 42px; padding: 5px 6px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-stat-label { font-size: 9px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-stat b { font-size: 12px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-match { grid-column: 1 / -1; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-footer { grid-column: 1 / -1; margin-top: 2px; font-size: 10px; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-entry-actions { margin: 0; border: 0; border-left: 1px solid color-mix(in srgb, var(--quality) 29%, #ffffff28); border-radius: 0; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-compare-button { flex-direction: column; justify-content: center; min-height: 100%; gap: 6px; padding: 10px; border-radius: 0; font-size: 11px; text-align: center; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-compare-button::after { margin: 0; }
#database:not(.detail-page) #dbResults[data-view="rows"] > .result { grid-template-columns: 62px minmax(0, 1fr); min-height: 92px; padding: 10px 12px; }
#database:not(.detail-page) #dbResults[data-view="rows"] > .result .result-main { display: block; }
#database:not(.detail-page) #dbResults[data-view="rows"] .result-entry:focus-within { outline: 3px solid #c294ff; outline-offset: 2px; }
html[data-faction="elyos"] #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry { border-color: color-mix(in srgb, var(--quality) 32%, #bfc3de); background: linear-gradient(115deg, #fffefee8, #f1effbec); box-shadow: inset 0 1px #fff, 0 8px 22px #777c9b22; }
html[data-faction="elyos"] #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry-actions { background: #f0eef9; }
html[data-faction="elyos"] #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry:focus-within { outline-color: #4265a8; }

@media (min-width: 761px) and (max-width: 1150px) {
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry { grid-template-columns: minmax(0, 1fr); }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-main { display: flex; flex-direction: column; gap: 3px; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-stats { align-self: stretch; margin-top: 4px; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry-actions { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--quality) 29%, #ffffff28); }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-compare-button { flex-direction: row; justify-content: space-between; min-height: 40px; padding: 8px 12px; text-align: left; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-compare-button::after { margin-left: 9px; }
}

@media (max-width: 760px) {
  #database:not(.detail-page) .results-head { align-items: stretch; flex-direction: column; }
  #database:not(.detail-page) .results-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 7px; width: 100%; }
  #database:not(.detail-page) .results-controls .db-view-toggle { grid-column: 1; grid-row: 1; width: fit-content; }
  #database:not(.detail-page) .results-controls label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  #database:not(.detail-page) .results-controls select { grid-column: 2; grid-row: 1; max-width: 145px; }
  #database:not(.detail-page) .results-controls #resultCount { grid-column: 1 / -1; grid-row: 2; min-width: 0; margin-left: 0; text-align: right; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry { grid-template-columns: minmax(0, 1fr); }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry > .result { grid-template-columns: 62px minmax(0, 1fr); min-height: 136px; padding: 9px; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-main { display: flex; flex-direction: column; gap: 3px; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-stats { align-self: stretch; margin-top: 5px; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-entry-actions { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--quality) 29%, #ffffff28); }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-compare-button { flex-direction: row; justify-content: space-between; min-height: 42px; padding: 8px 12px; text-align: left; }
  #database:not(.detail-page) #dbResults[data-view="rows"] .result-compare-button::after { margin-left: 9px; }
}
@media (max-width: 350px) {
  #database:not(.detail-page) .db-view-toggle button { padding-inline: 7px; font-size: 10px; }
  #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; justify-self: start; }
  #database:not(.detail-page) .results-controls #resultCount { grid-column: 2; grid-row: 2; align-self: center; }
  #database:not(.detail-page) .results-controls select { max-width: 132px; }
}

/* Таблица наблюдений: метрика — ось чтения, отсутствие значения остаётся пустым. */
#database:not(.detail-page) .db-stat-matrix-controls { margin: 12px 0 14px; padding: 15px 17px; border: 1px solid #a484c351; border-radius: 16px; background: linear-gradient(115deg, #291a3ce8, #1d162beb); box-shadow: inset 0 1px #ffffff17, 0 14px 32px #0c081840; color: #eee5f6; }
#database:not(.detail-page) .db-stat-matrix-controls[hidden] { display: none; }
#database:not(.detail-page) .db-stat-matrix-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
#database:not(.detail-page) .db-stat-matrix-head h3 { margin: 0 0 4px; font: 700 15px Onest, sans-serif; letter-spacing: .01em; }
#database:not(.detail-page) .db-stat-matrix-head p { max-width: 640px; margin: 0; color: #cab9da; font: 400 11px/1.45 Onest, sans-serif; }
#database:not(.detail-page) .db-stat-matrix-head > span { flex: none; padding: 5px 8px; border: 1px solid #bf9be34a; border-radius: 999px; color: #d8baf1; font: 700 10px Onest, sans-serif; }
#database:not(.detail-page) .db-stat-matrix-picker { margin-top: 11px; }
#database:not(.detail-page) .db-stat-matrix-picker summary { width: fit-content; max-width: 100%; padding: 8px 11px; border: 1px solid #aa83d572; border-radius: 9px; background: #6d469681; color: #fff; font: 700 11px Onest, sans-serif; cursor: pointer; }
#database:not(.detail-page) .db-stat-matrix-picker summary:focus-visible,
#database:not(.detail-page) .db-stat-matrix-choices input:focus-visible + span,
#database:not(.detail-page) .db-stat-table button:focus-visible,
#database:not(.detail-page) .db-stat-table a:focus-visible,
#database:not(.detail-page) .db-stat-table-viewport:focus-visible { outline: 3px solid #d7b7ff; outline-offset: 2px; }
#database:not(.detail-page) .db-stat-matrix-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 7px; margin-top: 9px; }
#database:not(.detail-page) .db-stat-matrix-choices label { position: relative; display: block; cursor: pointer; }
#database:not(.detail-page) .db-stat-matrix-choices input { position: absolute; width: 1px; height: 1px; opacity: 0; }
#database:not(.detail-page) .db-stat-matrix-choices label > span { display: flex; align-items: center; min-height: 38px; padding: 7px 9px; border: 1px solid #a582c050; border-radius: 8px; background: #150d22ab; color: #d9cce6; font: 600 11px Onest, sans-serif; }
#database:not(.detail-page) .db-stat-matrix-choices input:checked + span { border-color: #c79df0; background: #6d419bba; color: #fff; }
#database:not(.detail-page) .db-stat-matrix-choices input:disabled + span { opacity: .52; cursor: not-allowed; }
#database:not(.detail-page) .db-stat-matrix-status { min-height: 16px; margin: 8px 0 0; color: #cbb5df; font: 500 10px/1.4 Onest, sans-serif; }
#database:not(.detail-page) .db-stat-matrix-scroll { margin: 9px 0 0; color: #e1c695; font: 700 10px/1.4 Onest, sans-serif; }
#database:not(.detail-page) .db-stat-matrix-scroll[hidden] { display: none; }
#database:not(.detail-page) #dbResults[data-view="stats"] { display: block; min-width: 0; }
#database:not(.detail-page) .db-stat-table-viewport { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid #ac87ce68; border-radius: 15px; background: #1b1229; scrollbar-color: #9162b9 #241633; }
#database:not(.detail-page) .db-stat-table { width: 100%; border-collapse: separate; border-spacing: 0; color: #f3eaf9; font-family: Onest, sans-serif; }
#database:not(.detail-page) .db-stat-table caption { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#database:not(.detail-page) .db-stat-table th { min-width: 145px; padding: 12px 10px; border-bottom: 1px solid #b790d257; background: #30213e; color: #d8c3e9; text-align: left; vertical-align: bottom; }
#database:not(.detail-page) .db-stat-table th:first-child { position: sticky; z-index: 2; left: 0; min-width: 245px; width: 245px; border-right: 1px solid #b790d257; }
#database:not(.detail-page) .db-stat-table th:last-child { min-width: 104px; width: 104px; }
#database:not(.detail-page) .db-stat-table th > button { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: 700 11px/1.3 Onest, sans-serif; text-align: left; cursor: pointer; }
#database:not(.detail-page) .db-stat-table th[aria-sort="descending"] > button { color: #f6d98c; }
#database:not(.detail-page) .db-stat-table th[aria-sort="descending"] > button::after { content: ' ↓'; }
#database:not(.detail-page) .db-stat-table th small { display: block; margin-top: 4px; color: #bda5d0; font: 500 9px/1.3 Onest, sans-serif; }
#database:not(.detail-page) .db-stat-table td { min-width: 145px; padding: 10px; border-bottom: 1px solid #a785be30; background: #241a31; font-size: 12px; vertical-align: middle; }
#database:not(.detail-page) .db-stat-table tbody tr:last-child td { border-bottom: 0; }
#database:not(.detail-page) .db-stat-table tr:nth-child(even) td { background: #21172e; }
#database:not(.detail-page) .db-stat-table tr:focus-within td { background: #322142; }
#database:not(.detail-page) .db-stat-table td:first-child { position: sticky; z-index: 1; left: 0; min-width: 245px; width: 245px; border-right: 1px solid #a785be30; }
#database:not(.detail-page) .db-stat-tr { --quality: #a88bbd; }
#database:not(.detail-page) .db-stat-tr[data-quality="Epic"] { --quality: #ba89ff; }
#database:not(.detail-page) .db-stat-tr[data-quality="Rare"] { --quality: #78afff; }
#database:not(.detail-page) .db-stat-tr[data-quality="Special"] { --quality: #eac685; }
#database:not(.detail-page) .db-stat-tr[data-quality="Common"] { --quality: #afa9ba; }
#database:not(.detail-page) .db-stat-table-item { display: flex; align-items: center; gap: 9px; color: inherit; text-decoration: none; }
#database:not(.detail-page) .db-stat-table-icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border: 1px solid color-mix(in srgb, var(--quality) 55%, #ffffff32); border-radius: 9px; background: #0e0b19; }
#database:not(.detail-page) .db-stat-table-icon .item-icon { width: 38px; height: 38px; }
#database:not(.detail-page) .db-stat-table-copy { display: grid; min-width: 0; gap: 3px; }
#database:not(.detail-page) .db-stat-table-copy strong { color: #fff7ff; font-size: 11px; line-height: 1.3; }
#database:not(.detail-page) .db-stat-table-copy small { color: #bda8cf; font-size: 9px; line-height: 1.3; }
#database:not(.detail-page) .db-stat-table-value { color: #f4e5b2; font: 700 12px Onest, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
#database:not(.detail-page) .db-stat-table-missing { color: #a795b6; font-weight: 500; }
#database:not(.detail-page) .db-stat-table .result-compare-button { min-height: 34px; padding: 5px 8px; border-radius: 7px; font-size: 10px; }
#database:not(.detail-page) .db-stat-table .result-compare-button::after { display: none; }
#database:not(.detail-page) .db-stat-table tr[data-selected="true"] td:first-child { box-shadow: inset 3px 0 #b585e4; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-controls { border-color: #c4c2e1; background: linear-gradient(115deg, #fffefd, #f4f1fd); box-shadow: inset 0 1px #fff, 0 12px 30px #7276a22b; color: #273651; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-head p,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-status { color: #5c6486; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-scroll { color: #6f542b; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-head > span { border-color: #b9b8dc; color: #5b5b99; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-picker summary { border-color: #9a9dce; background: #e8e7fa; color: #364372; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-choices label > span { border-color: #c7c5e4; background: #fbfaff; color: #43506f; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-choices input:checked + span { border-color: #6477bb; background: #e1e4f8; color: #283864; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-viewport { border-color: #c0c2e1; background: #f6f4fc; scrollbar-color: #9a9fd2 #eeecf8; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table { color: #25334e; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table th { border-color: #c8c9e5; background: #e7e7f5; color: #3a4770; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table th[aria-sort="descending"] > button { color: #795b25; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table th small { color: #687398; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table td { border-color: #d5d6e9; background: #fffefa; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table tr:nth-child(even) td { background: #f3f1fc; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table tr:focus-within td { background: #e6e8fa; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-icon { background: #292639; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-copy strong { color: #243252; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-copy small { color: #637092; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-value { color: #554177; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-missing { color: #7b819c; }
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-picker summary:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-matrix-choices input:focus-visible + span,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table button:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table a:focus-visible,
html[data-faction="elyos"] #database:not(.detail-page) .db-stat-table-viewport:focus-visible { outline-color: #4265a8; }
@media (max-width: 760px) {
  #database:not(.detail-page) .db-stat-matrix-head { flex-direction: column; gap: 8px; }
  #database:not(.detail-page) .db-stat-matrix-controls { padding: 12px; }
  #database:not(.detail-page) .db-stat-table th:first-child,
  #database:not(.detail-page) .db-stat-table td:first-child { min-width: 185px; width: 185px; }
  #database:not(.detail-page) .db-stat-table th { min-width: 124px; }
  #database:not(.detail-page) .db-stat-table td { min-width: 124px; }
}
