@font-face {
  font-family: "MP3 Pixel";
  src: url("resources/fonts/MP3Pixel.woff") format("woff");
  font-display: swap;
}

.mp3-fanarts-theme {
  color: #fff;
  background:
    linear-gradient(rgba(30, 8, 39, .2), rgba(25, 7, 35, .5)),
    url("resources/project-bg/mp3.png") center top / cover fixed no-repeat;
}

.fanarts-page {
  width: min(calc(100% - 40px), 1320px);
  margin: 0 auto;
  padding: clamp(24px, 4vw, 50px) 0 90px;
}

.fanarts-hero {
  display: grid;
  justify-items: center;
  text-align: center;
}

.fanarts-back {
  justify-self: start;
  margin-bottom: 16px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(34, 13, 47, .55);
  text-decoration: none;
}
.fanarts-back:hover,
.fanarts-back:focus-visible { background: rgba(255,255,255,.12); }

.fanarts-logo { width: min(520px, 72vw); max-height: 230px; object-fit: contain; filter: drop-shadow(0 15px 20px rgba(0,0,0,.3)); }
.fanarts-banner { width: min(760px, 92vw); max-height: 190px; object-fit: contain; margin-top: 5px; }
.fanarts-hero p { width: min(100%, 850px); margin: 10px auto 34px; font-size: clamp(1rem, 1.45vw, 1.17rem); line-height: 1.55; }

.fanarts-heading { display: flex; justify-content: space-between; gap: 20px; align-items: end; margin-bottom: 18px; }
.fanarts-heading h1 { margin: 0; font-family: "MP3 Pixel", "Bahnschrift TRGU", sans-serif; font-size: clamp(1.8rem, 4vw, 3.2rem); line-height: 1.05; }
.fanarts-heading span { color: #ffb4e3; font-weight: 700; }

.fanarts-grid { column-width: 270px; column-gap: 16px; }
.fanart-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 16px;
  break-inside: avoid;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px 26px 16px 22px;
  background: rgba(32, 13, 45, .7);
  box-shadow: 0 18px 42px rgba(16, 4, 22, .26);
}
.fanart-card:nth-child(even) { border-radius: 26px 15px 24px 17px; }
.fanart-card a { display: block; text-decoration: none; }
.fanart-card img { display: block; width: 100%; height: auto; background: rgba(255,255,255,.04); transition: transform .25s ease, filter .25s ease; }
.fanart-card a:hover img,
.fanart-card a:focus-visible img { transform: scale(1.025); filter: saturate(1.08); }
.fanart-card__meta { padding: 13px 15px 15px; line-height: 1.35; }
.fanart-card__meta span { display: block; color: rgba(255,255,255,.68); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fanart-card__meta strong { display: block; margin-top: 3px; font-size: 1rem; overflow-wrap: anywhere; }
.fanart-card__meta a { color: #ffb4e3; text-decoration: underline; text-underline-offset: .18em; }
.fanarts-status { padding: 26px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(30, 12, 41, .58); text-align: center; }

@media (max-width: 840px) {
  .mp3-fanarts-theme { background-attachment: scroll; }
  .fanarts-page { width: min(calc(100% - 28px), 1320px); padding-top: 18px; }
}

@media (max-width: 560px) {
  .fanarts-heading { display: block; }
  .fanarts-heading span { display: block; margin-top: 7px; }
  .fanarts-grid { column-width: auto; column-count: 1; }
}
