@import url("./home-polish-v2-base.css?v=3");

/* Home visual corrections only. */
body.home-v2.home-dashboard-v3 .home-level-badge {
  display: none !important;
}

body.home-v2.home-dashboard-v3 .home-topbar-right {
  gap: 10px;
}

/* Keep the loosened greeting typography. */
body.home-v2.home-dashboard-v3 [data-home-greeting-period] {
  font-weight: 820;
  letter-spacing: -.042em;
}

/* High-resolution Home mascot.
   Keep the PNG sharp and animate only its transform/opacity. */
body.home-v2.home-dashboard-v3 .home-greeting-visual > img[data-home-mascot] {
  opacity: 1 !important;
  transform-origin: 52% 84%;
  image-rendering: auto;
  filter: none !important;
  animation:
    home-mascot-enter 920ms cubic-bezier(.18,.82,.24,1) both,
    home-mascot-hello 9s ease-in-out 1.12s infinite !important;
}

@keyframes home-mascot-enter {
  0% {
    opacity: 0;
    transform: translate3d(28px,-24px,0) scale(.95) rotate(2.8deg);
  }
  58% {
    opacity: 1;
    transform: translate3d(-3px,4px,0) scale(1.012) rotate(-.9deg);
  }
  78% {
    opacity: 1;
    transform: translate3d(1px,-2px,0) scale(.998) rotate(.35deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1) rotate(0deg);
  }
}

/* A restrained hello every few seconds instead of constant twitching.
   With a single crisp PNG the whole mascot moves very slightly; there are
   no frame swaps, crossfades or compressed animation assets. */
@keyframes home-mascot-hello {
  0%, 56%, 100% {
    transform: translate3d(0,0,0) rotate(0deg);
  }
  60% {
    transform: translate3d(0,-2px,0) rotate(-.65deg);
  }
  64% {
    transform: translate3d(1px,-3px,0) rotate(.75deg);
  }
  68% {
    transform: translate3d(0,-2px,0) rotate(-.55deg);
  }
  72% {
    transform: translate3d(1px,-3px,0) rotate(.6deg);
  }
  77% {
    transform: translate3d(0,0,0) rotate(0deg);
  }
}

/* Retire the legacy CSS mascot overlay. */
body.home-v2.home-dashboard-v3 .home-greeting-visual::after {
  display: none !important;
  content: none !important;
}

/* Use the dedicated approved Comrade mark when the sidebar is collapsed. */
@media (min-width: 981px) {
  body.home-v2.home-dashboard-v3.cinema-sidebar-minimized .home-brand {
    position: relative;
    width: 60px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    flex: 0 0 60px;
  }

  body.home-v2.home-dashboard-v3.cinema-sidebar-minimized .home-brand-full {
    display: none !important;
  }

  body.home-v2.home-dashboard-v3.cinema-sidebar-minimized .home-brand-compact {
    display: block !important;
    width: 58px;
    height: 58px;
    object-fit: contain;
    object-position: center;
    image-rendering: auto;
  }

  body.home-v2.home-dashboard-v3.cinema-sidebar-minimized .home-brand::after {
    display: none !important;
    content: none !important;
    background: none !important;
  }
}

/* Cinema Journey badge artwork. Each milestone points directly at its matching PNG. */
body.home-v2.home-dashboard-v3 .home-journey-main {
  grid-template-columns: 150px minmax(0,1fr);
  gap: 18px;
}

body.home-v2.home-dashboard-v3 .home-level-medallion {
  position: relative;
  width: 140px;
  height: 164px;
  display: block;
  overflow: hidden;
  clip-path: none;
  border-radius: 0;
  background: transparent !important;
  filter: drop-shadow(0 13px 22px rgba(0,0,0,.34));
  text-decoration: none;
  transition: transform .16s ease, filter .16s ease;
}

body.home-v2.home-dashboard-v3 .home-level-medallion:hover {
  transform: translateY(-2px) scale(1.025);
  filter: drop-shadow(0 16px 25px rgba(0,0,0,.40));
}

body.home-v2.home-dashboard-v3 .home-level-medallion::before {
  display: none !important;
}

body.home-v2.home-dashboard-v3 .home-level-medallion::after {
  content: attr(data-level-tier);
  display: none !important;
}

body.home-v2.home-dashboard-v3 .home-level-medallion-art {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

body.home-v2.home-dashboard-v3 .home-level-medallion-art img {
  display: none !important;
}

body.home-v2.home-dashboard-v3 .home-level-medallion > strong {
  display: none !important;
}

body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="1"] .home-level-medallion-art { background-image: url("../assets/badges/level-1-film-newbie.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="5"] .home-level-medallion-art { background-image: url("../assets/badges/level-5-weekend-viewer.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="10"] .home-level-medallion-art { background-image: url("../assets/badges/level-10-movie-buff.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="20"] .home-level-medallion-art { background-image: url("../assets/badges/level-20-cinephile.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="30"] .home-level-medallion-art { background-image: url("../assets/badges/level-30-movie-connoisseur.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="40"] .home-level-medallion-art { background-image: url("../assets/badges/level-40-film-detective.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="50"] .home-level-medallion-art { background-image: url("../assets/badges/level-50-serial-watcher.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="60"] .home-level-medallion-art { background-image: url("../assets/badges/level-60-cinema-master.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="75"] .home-level-medallion-art { background-image: url("../assets/badges/level-75-legendary-viewer.png?v=1"); }
body.home-v2.home-dashboard-v3 .home-level-medallion[data-level-tier="100"] .home-level-medallion-art { background-image: url("../assets/badges/level-100-cinema-legend.png?v=1"); }

body.home-v2.home-dashboard-v3 .home-journey-main:has(.home-level-medallion[data-level-tier="10"]) .home-journey-tier,
body.home-v2.home-dashboard-v3 .home-journey-main:has(.home-level-medallion[data-level-tier="40"]) .home-journey-tier,
body.home-v2.home-dashboard-v3 .home-journey-main:has(.home-level-medallion[data-level-tier="100"]) .home-journey-tier {
  color: #8de866;
}

body.home-v2.home-dashboard-v3 .home-journey-main:has(.home-level-medallion[data-level-tier="30"]) .home-journey-tier,
body.home-v2.home-dashboard-v3 .home-journey-main:has(.home-level-medallion[data-level-tier="60"]) .home-journey-tier {
  color: #e8bd59;
}

@media (max-width: 980px) {
  body.home-v2.home-dashboard-v3 .home-journey-main {
    grid-template-columns: 128px minmax(0,1fr);
    gap: 14px;
  }

  body.home-v2.home-dashboard-v3 .home-level-medallion {
    width: 120px;
    height: 141px;
  }
}

@media (max-width: 620px) {
  body.home-v2.home-dashboard-v3 .home-journey-main {
    grid-template-columns: 106px minmax(0,1fr);
    gap: 10px;
  }

  body.home-v2.home-dashboard-v3 .home-level-medallion {
    width: 100px;
    height: 117px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home-v2.home-dashboard-v3 .home-greeting-visual > img[data-home-mascot] {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  body.home-v2.home-dashboard-v3 .home-greeting-visual::after {
    display: none !important;
  }
}

/* Alpha 1.0 release label. Keep legacy DOM version text out of sight while preserving the compact rail layout. */
body.home-v2.home-dashboard-v3 .home-version-full,
body.home-v2.home-dashboard-v3 .home-version-short {
  font-size: 0 !important;
}
body.home-v2.home-dashboard-v3 .home-version-full::after {
  content: "Comrade Alpha 1.0";
  font-size: .68rem;
}
body.home-v2.home-dashboard-v3 .home-version-short::after {
  content: "A1.0";
  font-size: .64rem;
}
