/* Original typographic covers. Loading emblems: /images/regions/SOURCES.json. */
.region-mark { display: inline-block; width: 1.45em; height: 1.45em; flex: 0 0 auto; vertical-align: middle; }
.library-book-cover {
  --cover-cloth: #3e535a;
  --cover-ink: #f5e8cc;
  --cover-stitch: #aab4a3;
  width: 100%;
  aspect-ratio: 0.7;
  position: relative;
  container-type: inline-size;
  border-radius: 1px 3px 3px 1px;
  color: var(--cover-ink);
  background: var(--cover-cloth);
  box-shadow: inset 5px 0 0 #00000017, inset 7px 0 0 #ffffff0a, 3px 3px 0 #ded6c5, 4px 4px 0 #b9b1a1, 7px 8px 14px #25344215;
  isolation: isolate;
}
.library-book-cover[data-cover-tone="mondstadt"] { --cover-cloth: #3f5e57; --cover-stitch: #b5c0a4; }
.library-book-cover[data-cover-tone="liyue"] { --cover-cloth: #765740; --cover-stitch: #d0b790; }
.library-book-cover[data-cover-tone="inazuma"] { --cover-cloth: #615169; --cover-stitch: #c1acc8; }
.library-book-cover[data-cover-tone="sumeru"] { --cover-cloth: #596043; --cover-stitch: #c1c6a1; }
.library-book-cover[data-cover-tone="fontaine"] { --cover-cloth: #405b72; --cover-stitch: #a6bcc9; }
.library-book-cover[data-cover-tone="natlan"] { --cover-cloth: #874e3d; --cover-stitch: #dab39a; }
.library-book-cover[data-cover-tone="nod-krai"] { --cover-cloth: #4e5770; --cover-stitch: #b7bdd1; }
.library-book-cover[data-cover-tone="snezhnaya"] { --cover-cloth: #45656c; --cover-stitch: #c1d6d6; }
.library-book-cover__face {
  position: absolute;
  inset: 7% 8% 7% 11%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 9% 5% 7%;
  text-align: center;
  border: 1px solid color-mix(in srgb, var(--cover-stitch) 58%, transparent);
}
.library-book-cover__face::before,
.library-book-cover__face::after {
  content: '';
  position: absolute;
  width: 5px;
  height: 5px;
  background: var(--cover-stitch);
  transform: rotate(45deg);
  opacity: .75;
}
.library-book-cover__face::before { top: -3px; }
.library-book-cover__face::after { bottom: -3px; }
.library-book-cover__region,
.library-book-cover__imprint {
  font-family: var(--font-ui, Arial, sans-serif);
  font-weight: 500;
  font-size: 8px;
  font-size: clamp(5px, 4.1cqw, 11px);
  line-height: 1.3;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.library-book-cover__region { opacity: .9; }
.library-book-cover__rule { width: 21%; height: 1px; margin: 9% 0 10%; background: var(--cover-stitch); opacity: .65; flex-shrink: 0; }
.library-book-cover__title {
  display: block;
  font-family: var(--font-reading, Georgia, 'Times New Roman', serif);
  font-size: 19px;
  font-size: clamp(9px, 10.7cqw, 30px);
  line-height: 1.12;
  letter-spacing: -.015em;
  font-weight: 400;
  text-wrap: balance;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.library-book-cover[data-title-size="medium"] .library-book-cover__title { font-size: clamp(8px, 9.1cqw, 25px); }
.library-book-cover[data-title-size="long"] .library-book-cover__title { font-size: clamp(7px, 7.8cqw, 23px); }
.library-book-cover__emblem { display: block; width: 31%; margin: auto 0 6%; padding-top: 8%; color: var(--cover-stitch); }
.library-book-cover__emblem .region-mark { display: block; width: 100%; height: auto; }
.library-book-cover__imprint { opacity: .85; font-size: clamp(4px, 3.6cqw, 10px); letter-spacing: .08em; }
.library-book-cover--compact { box-shadow: inset 3px 0 0 #00000017, 2px 2px 0 #d8d0bd, 4px 5px 7px #25344212; }
.library-book-cover--compact .library-book-cover__face { inset: 7% 8% 7% 12%; padding: 10% 5%; }
.library-book-cover--compact .library-book-cover__region { font-size: 5px; font-size: 5cqw; letter-spacing: .08em; }
.library-book-cover--compact .library-book-cover__title { font-size: 8px; font-size: 11cqw; }
.library-book-cover--compact[data-title-size="long"] .library-book-cover__title { font-size: 9cqw; }
.library-book-cover--compact .library-book-cover__rule { margin: 8% 0 9%; }
.library-book-cover--compact .library-book-cover__emblem { width: 26%; margin-bottom: 0; }
.library-book-cover--compact .library-book-cover__imprint { display: none; }
@container (max-width: 90px) {
  .library-book-cover__region { font-size: 5cqw; letter-spacing: .07em; }
  .library-book-cover__imprint { display: none; }
}
@media (forced-colors: active) {
  .library-book-cover { border: 1px solid CanvasText; }
  .library-book-cover__face { border-color: CanvasText; }
}
