/* Self-hosted fonts; Nunito includes Cyrillic. Licenses are beside the files. */
@font-face {
  font-family: "Nunito";
  src: url("./fonts/Nunito.ttf") format("truetype");
  font-weight: 200 1000;
  font-display: swap;
}
@font-face {
  font-family: "Lilita One";
  src: url("./fonts/LilitaOne.ttf") format("truetype");
  font-weight: 400;
  font-display: swap;
}
:root {
  --display: "Lilita One", "Arial Black", sans-serif;
  --body: "Nunito", "Arial", system-ui, sans-serif;
}
html[lang="ru"] { --display: "Nunito", "Arial", sans-serif; }
html[lang="ru"] h1, html[lang="ru"] h2, html[lang="ru"] .btn b { font-weight: 1000; }
html[lang="ru"] .btn { white-space: normal; }
html[lang="ru"] .cp-tag { max-width: 30em; }
/* Touch targets stay the same size; captions must fit their circular interiors. */
html[lang="ru"] .touch-btn {
  font-size: 13px;
  line-height: 1;
  padding: 0;
  white-space: nowrap;
}
html[lang="ru"] .touch-fire { font-size: 14px; }
html[lang="ru"] .touch-pause {
  padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) 0 0;
}
/* The miniature phone diagram scales independently of the real controls. */
html[lang="ru"] .cpt-btn.j { font-size: max(7px, 1.8cqi); }
html[lang="ru"] .cpt-right { right: 28%; }
/* Russian hint words need pills, rather than fixed 36px English badges. */
html[lang="ru"] .tut-text .tb {
  box-sizing: border-box;
  width: auto;
  min-width: 36px;
  height: 28px;
  margin: 2px 3px;
  padding: 0 7px;
  border-radius: 14px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
html[lang="ru"] .over-title { font-size: clamp(28px, 6vw, 80px); }
html[lang="ru"] .ar-tag { overflow-wrap: anywhere; }
.boot-title { color: #ffd23f; font-size: clamp(30px, 7vw, 60px); text-shadow: 3px 3px #1b2140; }
html[lang="ru"] .tile.is-new .tile-art::after,
html[lang="ru"] .gun-option.is-new::after { content: "НОВОЕ!"; }
html[lang="ru"] .viewer-item[data-mark="keep"]::after { content: "ОСТАВИТЬ"; }
html[lang="ru"] .viewer-item[data-mark="toss"]::after { content: "УБРАТЬ"; }
.menu-bar { z-index: 10; pointer-events: none; }
.menu-bar .menu-buttons, .menu-bar .wallet { pointer-events: auto; }
/* Reserve space for the next-level caption instead of covering reward text. */
.next-wrap { flex-direction: column; gap: 8px; }
.next-name {
  position: static;
  align-self: center;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 0.8rem;
  animation: none;
  transform: none;
}
.next-name::after { display: none; }
.over-screen .over-row .next-wrap .btn { height: auto; flex: 1; }

.save-conflict { position: fixed; inset: 0; z-index: 2147483647; display: grid; place-items: center; padding: 20px; background: #10182cdd; }
.save-conflict .panel { position: relative; width: min(560px, 100%); max-height: 90vh; overflow: auto; text-align: center; }
.save-conflict p { margin: 16px 0 24px; }
