/* LOOTHOOD — типографика v1
   ------------------------------------------------------------------
   В игре два шрифта: Alagard — остроугольный, им набраны «HUNT»,
   «WEEKLY BOUNTIES», «BOUNTY BOARD»; PixelOperator — ровный, им набрано
   всё остальное. Alagard задаёт характер, но использовался только в
   заголовках, поэтому экраны читались как заголовок плюс безликое поле
   текста.

   Правило, по которому раскладываем:
     Alagard    — то, что игрок ЧИТАЕТ: заголовки, имена предметов,
                  строки задач, подписи кнопок и вкладок, названия
                  слотов и характеристик.
     PixelOperator — то, что игрок СЧИТЫВАЕТ: числа, проценты, счётчики,
                  описания эффектов, микроподписи капсом и всё мельче
                  12 пикселей. На таких размерах Alagard теряет
                  разборчивость, а цифры в нём читаются заметно хуже.

   Подключается последним, чтобы перекрыть экранные файлы. */

/* ============ ЧИТАЕМОЕ — ALAGARD ============ */

.hb-app :is(h1, h2, h3, h4),
.utility-modal__panel :is(h1, h2, h3, h4),
.hb-account-gate :is(h1, h2, h3) {
  font-family: 'Alagard', serif;
}

/* Строки задач на Hunt и в доске заказов — главный текст этих экранов. */
.hb-app .hb-bounty-list dt,
.utility-modal__panel .bounty__title {
  font-family: 'Alagard', serif !important;
  font-size: 16.5px;
  letter-spacing: .25px;
  line-height: 1.25;
}

/* Подписи кнопок и вкладок. */
.hb-app :is(button, [role="button"]),
.hb-app .hb-nav-item,
.utility-modal__panel button,
.hb-account-gate .hb-account-button {
  font-family: 'Alagard', serif;
}

/* Названия слотов, характеристик и предметов. */
.hb-app .hb-equipped-strip article strong,
.hb-app .hb-outfitter-card strong,
.hb-app .hb-gacha-spotlight > h3,
.hb-app .hb-settlement-status dt,
.hb-app .hb-passive-resource span,
.hb-app .hb-operation-row strong,
.hb-app .hb-plot__empty strong {
  font-family: 'Alagard', serif;
}

/* Строки накопленных бонусов в лагере: слева название — читаемое. */
.hb-app .hb-settlement-bonuses dt {
  font-family: 'Alagard', serif;
  font-size: 15px;
  letter-spacing: .2px;
  text-transform: none;
}

/* ============ СЧИТЫВАЕМОЕ — PIXELOPERATOR ============
   Обратные исключения. Они идут после, потому что важнее: цифру
   в Alagard читать неудобно, а именно цифры игрок сверяет постоянно. */

.hb-app .hb-resource span,
.hb-app .hb-value,
.hb-app .hb-bounty-list dd,
.hb-app .hb-settlement-bonuses dd,
.hb-app .hb-passive-resource strong,
.hb-app .hb-plots-heading dd,
.hb-app .hb-equipment-filter-chips button,
.hb-app .hb-equipment-stat-grid button,
.hb-app .hb-market-filter-chips button,
.hb-app .hb-market-stat-filter,
.hb-app .hb-market-stat-filter button,
.hb-app .hb-resource::after,
.utility-modal__panel .bounty__head,
.utility-modal__panel .bounty__rewards > *,
.utility-modal__panel .bounty__repeatable,
.utility-modal__panel .bounty__weekly-limit,
.utility-modal__panel .weekly-ticket-progress__head strong,
.utility-modal__panel .weekly-ticket-progress p {
  font-family: 'PixelOperator', 'PixelOperator8', monospace !important;
}

/* Описания и абзацы — тоже считываемое, не читаемое «на вкус». */
.hb-app .hb-hunt-card__copy p,
.hb-app .hb-gacha-spotlight > p,
.hb-app .hb-equipment-empty,
.hb-app .hb-market-empty p,
.hb-app .hb-plots-heading__note,
.hb-app .hb-passive-note,
.hb-account-gate .hb-account-copy,
.hb-account-gate .hb-account-note {
  font-family: 'PixelOperator', 'PixelOperator8', monospace;
}

/* Микроподписи капсом: Alagard на 10–11 пикселях превращается в кашу. */
.hb-app :is(.hb-nav-group, .hb-version-label, .hb-featured__eyebrow),
.hb-app .hb-equipment-filter-groups legend,
.hb-app .hb-plots-heading dt,
.hb-app .hb-gacha-spotlight > span,
.utility-modal__panel .stats-modal__head > div > p {
  font-family: 'PixelOperator', 'PixelOperator8', monospace !important;
}

/* Поля ввода — только ровный шрифт: логин и пароль должны читаться
   однозначно, буква в букву. */
.hb-account-gate input,
.hb-app input,
.hb-app select {
  font-family: 'PixelOperator', 'PixelOperator8', monospace !important;
}


/* ================================================================
   ПИКСЕЛЬНЫЕ КНОПКИ МЕНЮ — блок живёт здесь, в последнем файле
   каскада, осознанно: экранные файлы (pulls, market, ...) грузятся
   после patch и перебивали кнопки своей специфичностью.
   ================================================================ */
/* ---- Пиксельные кнопки (9-slice) в главном меню ------------------
   Те же спрайты, что в бою: нейтральная рамка для вторичных действий,
   залитый лайм для единственного пути экрана (Start Hunt, Pull).
   В меню нет transform-scale, спрайты рисуются 1:1 — идеально чётко. */
.hb-app .hb-hunt-card > button,
.hb-app .hb-hunt-primary,
.hb-app .hb-hunt-armoury,
.hb-app .hb-featured__footer > button,
.hb-app .hb-ledger-button,
.hb-app .hb-operation-row button{
  --btn9:url("../images/btn9-neutral-v1.png?r11");
  --btn9p:url("../images/btn9-neutral-pressed-v1.png?r11");
  --btn9h:url("../images/btn9-neutral-hover-v1.png?r11");
  border:12px solid transparent !important;
  border-image:var(--btn9) 12 fill stretch !important;
  border-radius:0 !important;background:none !important;
  image-rendering:pixelated;box-shadow:none !important;
  text-shadow:0 2px 0 rgba(5,8,6,.6) !important;
  color:var(--ivory,#eaf5ee) !important;
  min-height:48px !important;padding:2px 10px !important;
  transition:color .12s,filter .12s !important;
  /* пульсация анимировала box-shadow, а он здесь выключен !important:
     кадры считались каждые 16 мс впустую и дёргали перерисовку */
  animation:none !important;
}
.hb-app .hb-hunt-card > button:hover,
.hb-app .hb-hunt-primary:hover,
.hb-app .hb-hunt-armoury:hover,
.hb-app .hb-featured__footer > button:hover,
.hb-app .hb-ledger-button:hover,
.hb-app .hb-operation-row button:hover{
  background:none !important;border-color:transparent !important;
  border-image-source:var(--btn9h) !important;filter:none !important;transform:none !important;
}
.hb-app .hb-hunt-card > button:active,
.hb-app .hb-hunt-primary:active,
.hb-app .hb-hunt-armoury:active,
.hb-app .hb-featured__footer > button:active,
.hb-app .hb-ledger-button:active,
.hb-app .hb-operation-row button:active{
  border-image-source:var(--btn9p) !important;
  transform:translateY(2px) !important;filter:none;
}
.hb-app .hb-hunt-card > button:focus,
.hb-app .hb-hunt-primary:focus,
.hb-app .hb-hunt-armoury:focus,
.hb-app .hb-hunt-card > button:focus-visible,
.hb-app .hb-hunt-primary:focus-visible,
.hb-app .hb-hunt-armoury:focus-visible,
.hb-app .hb-featured__footer > button:focus,
.hb-app .hb-featured__footer > button:focus-visible,
.hb-app .hb-ledger-button:focus,
.hb-app .hb-operation-row button:focus,
.hb-app .hb-ledger-button:focus-visible,
.hb-app .hb-operation-row button:focus-visible{
  outline:none !important;box-shadow:none !important;border-image-source:var(--btn9h) !important;filter:none !important;
}
.hb-app .hb-hunt-card > button::before,
.hb-app .hb-hunt-primary::before,
.hb-app .hb-hunt-armoury::before,
.hb-app .hb-hunt-card > button::after,
.hb-app .hb-hunt-primary::after,
.hb-app .hb-hunt-armoury::after,
.hb-app .hb-featured__footer > button::before,
.hb-app .hb-featured__footer > button::after,
.hb-app .hb-ledger-button::before,
.hb-app .hb-operation-row button::before,
.hb-app .hb-ledger-button::after,
.hb-app .hb-operation-row button::after{display:none !important;content:none !important;}
/* единственный лаймовый путь экрана */
.hb-app .hb-hunt-primary,
.hb-app .hb-ledger-button.is-primary,
.hb-app .hb-featured__footer > button{
  --btn9:url("../images/btn9-limesolid-v1.png?r11");
  --btn9p:url("../images/btn9-limesolid-pressed-v1.png?r11");
  --btn9h:url("../images/btn9-limesolid-hover-v1.png?r11");
  color:#0a120c !important;font-weight:700 !important;
}
.hb-app .hb-hunt-primary,
.hb-app .hb-ledger-button.is-primary,
.hb-app .hb-featured__footer > button{text-shadow:0 1px 0 rgba(255,255,255,.30) !important;}
.hb-app .hb-hunt-primary span,
.hb-app .hb-ledger-button.is-primary span,
.hb-app .hb-ledger-button.is-primary small,
.hb-app .hb-featured__footer > button span{color:#0a120c !important;}
/* стрелка-иконка в Start Hunt больше не нужна: кнопка и так главная */
.hb-app .hb-hunt-primary .hb-play{display:none !important;}


/* is-primary приходится добивать отдельно: village-файл красит его
   градиентом с border:none при специфичности (0,3,0) — базовое правило
   блока (0,2,0) проигрывает. Здесь та же специфичность, но файл позже. */
.hb-app .hb-ledger-button.is-primary{
  border:12px solid transparent !important;
  border-image:var(--btn9) 12 fill stretch !important;
  border-radius:0 !important;background:none !important;
  box-shadow:none !important;image-rendering:pixelated;
}
.hb-app .hb-ledger-button.is-primary:hover{
  background:none !important;transform:none !important;filter:none !important;
  border-image-source:var(--btn9h) !important;box-shadow:none !important;
}
.hb-app .hb-ledger-button.is-primary:active{
  border-image-source:var(--btn9p) !important;transform:translateY(2px) !important;
}
