@font-face {
  font-family: "Reaper Lilita";
  src: url("/media/games/reaper-flip/fonts/LilitaOne-Regular.ttf");
  font-display: swap;
}
@keyframes rf-rise {
  0% {
    transform: translateY(24px);
    opacity: 0;
  }
  100% {
    transform: none;
    opacity: 1;
  }
}
@keyframes rf-logo-in {
  0% {
    transform: rotate(-4deg) scale(0.4);
    opacity: 0;
  }
  100% {
    transform: rotate(-2deg) scale(1);
    opacity: 1;
  }
}
@keyframes rf-float {
  0%, 100% {
    transform: rotate(-2deg) translateY(0);
  }
  50% {
    transform: rotate(-1deg) translateY(-8px);
  }
}
@keyframes rf-bob {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04);
  }
}
@keyframes rf-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes rf-red {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
@keyframes rf-pod-pop {
  0% {
    transform: scale(1);
  }
  40% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes rf-pop {
  0% {
    transform: translate(-50%, 10px) scale(0.5);
    opacity: 0;
  }
  20% {
    transform: translate(-50%, -8px) scale(1.15);
    opacity: 1;
  }
  70% {
    transform: translate(-50%, -30px) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -60px) scale(1);
    opacity: 0;
  }
}
@keyframes rf-card-in {
  0% {
    transform: translateY(120px);
    opacity: 0;
  }
  70% {
    transform: translateY(-6px);
    opacity: 1;
  }
  100% {
    transform: none;
    opacity: 1;
  }
}
@keyframes rf-best-glow {
  0%, 100% {
    filter: drop-shadow(0 0 0 rgba(125, 255, 176, 0));
  }
  50% {
    filter: drop-shadow(0 0 24px rgba(125, 255, 176, 0.75));
  }
}
#full-area.reaper-flip {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #12071f;
  color: #f3ecff;
  font-family: "Reaper Lilita", sans-serif;
  user-select: none;
  -webkit-user-select: none;
}
#full-area.reaper-flip, #full-area.reaper-flip * {
  box-sizing: border-box;
}
#full-area.reaper-flip [hidden] {
  display: none !important;
}
#full-area.reaper-flip button {
  font: inherit;
  cursor: pointer;
  touch-action: manipulation;
  padding: 0;
}
#full-area.reaper-flip button:focus-visible {
  outline: 3px solid #7dffb0;
  outline-offset: 3px;
}
#full-area.reaper-flip p {
  margin: 0;
}
#full-area.reaper-flip #game-area {
  position: absolute;
  width: 1280px;
  height: 720px;
  left: 50%;
  top: 50%;
  overflow: hidden;
}
#full-area.reaper-flip #rf-canvas {
  position: absolute;
  inset: 0;
  width: 1280px;
  height: 720px;
  touch-action: none;
  background: linear-gradient(#12071f 0, #5a2463 540px, #3a2419 540px, #140a08);
}
#full-area.reaper-flip.rf-hit-flash #game-area::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #8a0f3a;
  pointer-events: none;
  animation: rf-red 0.26s ease-out forwards;
}
#full-area.reaper-flip .rf-top {
  position: absolute;
  left: 24px;
  right: 24px;
  top: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  pointer-events: none;
  transition: opacity 0.3s;
}
#full-area.reaper-flip .rf-pod {
  height: 74px;
  padding: 0 22px;
  border-radius: 22px;
  background: linear-gradient(#3b1f5c, #24103c);
  border: 4px solid #120a1c;
  box-shadow: 0 6px 0 #120a1c, 0 0 18px rgba(181, 108, 255, 0.25);
  display: flex;
  align-items: center;
  gap: 12px;
}
#full-area.reaper-flip .rf-pod strong {
  font: 46px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 6px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 3px 0 #120a1c;
  min-width: 40px;
}
#full-area.reaper-flip .rf-pod.is-pop {
  animation: rf-pod-pop 0.35s ease-out;
}
#full-area.reaper-flip .rf-pod-label {
  font-size: 20px;
  color: #b9a6d8;
}
#full-area.reaper-flip .rf-pod-pumpkin {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-left: 14px;
  border-left: 3px solid rgba(243, 236, 255, 0.14);
}
#full-area.reaper-flip .rf-pod-pumpkin b {
  font: 30px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 5px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 2px 0 #120a1c;
}
#full-area.reaper-flip .rf-pumpkin-icon {
  display: inline-block;
  width: 34px;
  height: 27px;
  border-radius: 50%;
  background: radial-gradient(ellipse 22% 48% at 30% 50%, rgba(18, 10, 28, 0.25) 0 60%, transparent 62%), radial-gradient(ellipse 22% 48% at 70% 50%, rgba(18, 10, 28, 0.25) 0 60%, transparent 62%), radial-gradient(circle at 35% 35%, #ffc46b, #e0600c 70%);
  border: 3px solid #120a1c;
  position: relative;
}
#full-area.reaper-flip .rf-pumpkin-icon::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 10px;
  border-radius: 2px;
  background: #4a6b2a;
  border: 2px solid #120a1c;
  top: -11px;
  left: 12px;
  transform: rotate(12deg);
}
#full-area.reaper-flip .rf-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
#full-area.reaper-flip .rf-lives {
  display: flex;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 20px;
  background: linear-gradient(#3b1f5c, #24103c);
  border: 4px solid #120a1c;
  box-shadow: 0 5px 0 #120a1c, 0 0 18px rgba(181, 108, 255, 0.25);
}
#full-area.reaper-flip .rf-life {
  display: block;
  width: 34px;
  height: 50px;
  filter: drop-shadow(0 0 6px rgba(181, 108, 255, 0.7));
  transition: opacity 0.3s, transform 0.3s;
}
#full-area.reaper-flip .rf-life.is-lost {
  opacity: 0.22;
  transform: rotate(40deg) scale(0.8);
  filter: grayscale(1);
}
#full-area.reaper-flip .rf-meter {
  width: 300px;
  padding: 12px 14px;
  border-radius: 20px;
  background: rgba(18, 10, 28, 0.85);
  border: 2px solid rgba(181, 108, 255, 0.35);
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: auto;
}
#full-area.reaper-flip .rf-meter-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
#full-area.reaper-flip .rf-meter-row svg {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
}
#full-area.reaper-flip .rf-meter-track {
  position: relative;
  flex: 1;
  height: 24px;
  border-radius: 12px;
  background: #0a0412;
  border: 3px solid #05020a;
  overflow: hidden;
}
#full-area.reaper-flip .rf-meter-track b {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: linear-gradient(90deg, #7dffb0, #b56cff 60%, #ff4b6e);
  transition: width 0.04s linear;
}
#full-area.reaper-flip .rf-meter-track i {
  position: absolute;
  top: -4px;
  bottom: -4px;
  width: 4px;
  left: 42%;
  margin-left: -2px;
  background: #fff;
  box-shadow: 0 0 6px #fff;
  transition: left 0.15s ease-out;
}
#full-area.reaper-flip[data-armed="0"] .rf-meter-track i {
  background: #6f5f8a;
  box-shadow: none;
}
#full-area.reaper-flip .rf-sens {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
#full-area.reaper-flip .rf-sens-label {
  margin-right: auto;
  font-size: 15px;
  letter-spacing: 1px;
  color: #b9a6d8;
}
#full-area.reaper-flip .rf-sens-button {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #3b1f5c;
  border: 3px solid #05020a;
  box-shadow: 0 3px 0 #05020a;
  font: 24px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 4px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 0 0 #120a1c;
  display: flex;
  align-items: center;
  justify-content: center;
}
#full-area.reaper-flip .rf-sens-button:hover {
  background: #4d2a78;
}
#full-area.reaper-flip .rf-sens-button:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #05020a;
}
#full-area.reaper-flip .rf-sens-button:disabled {
  opacity: 0.4;
  cursor: default;
}
#full-area.reaper-flip .rf-sens-value {
  min-width: 58px;
  text-align: center;
  font: 24px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 5px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 2px 0 #120a1c;
  color: #ffb347;
}
#full-area.reaper-flip[data-state=loading] .rf-top, #full-area.reaper-flip[data-state=intro] .rf-top, #full-area.reaper-flip[data-state=gameover] .rf-top {
  opacity: 0;
}
#full-area.reaper-flip[data-state=loading] .rf-meter, #full-area.reaper-flip[data-state=intro] .rf-meter, #full-area.reaper-flip[data-state=gameover] .rf-meter {
  pointer-events: none;
}
#full-area.reaper-flip .rf-pop {
  position: absolute;
  left: 50%;
  top: 200px;
  font: 40px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 7px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 3px 0 #120a1c;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
}
#full-area.reaper-flip .rf-pop[data-tone=gold] {
  color: #ffb347;
  font-size: 48px;
}
#full-area.reaper-flip .rf-pop[data-tone=red] {
  color: #ff4b6e;
}
#full-area.reaper-flip .rf-pop.is-show {
  animation: rf-pop 0.9s ease-out forwards;
}
#full-area.reaper-flip .rf-title {
  position: absolute;
  left: 640px;
  top: 20px;
  width: 600px;
  bottom: 84px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#full-area.reaper-flip[data-state=loading] .rf-title, #full-area.reaper-flip[data-state=intro] .rf-title {
  display: flex;
}
#full-area.reaper-flip .rf-logo {
  width: 470px;
  height: auto;
  filter: drop-shadow(0 0 26px rgba(125, 255, 176, 0.35)) drop-shadow(0 12px 18px rgba(0, 0, 0, 0.6));
  animation: rf-logo-in 0.55s cubic-bezier(0.2, 1.6, 0.4, 1) both, rf-float 4s 0.6s ease-in-out infinite;
}
#full-area.reaper-flip .rf-stats {
  display: flex;
  align-items: center;
  margin-top: 8px;
  padding: 4px 8px;
  border-radius: 22px;
  background: rgba(18, 10, 28, 0.85);
  border: 2px solid rgba(181, 108, 255, 0.35);
  animation: rf-rise 0.4s 0.25s ease-out both;
}
#full-area.reaper-flip .rf-stats span {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 40px;
  padding: 0 20px;
}
#full-area.reaper-flip .rf-stats span + span {
  border-left: 2px solid rgba(243, 236, 255, 0.14);
}
#full-area.reaper-flip .rf-stats em {
  font-style: normal;
  font-size: 16px;
  letter-spacing: 2px;
  color: #b9a6d8;
  padding-top: 2px;
}
#full-area.reaper-flip .rf-stats b {
  font: 28px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 5px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 2px 0 #120a1c;
  font-variant-numeric: tabular-nums;
}
#full-area.reaper-flip .rf-stats .rf-pumpkin-icon {
  width: 28px;
  height: 22px;
}
#full-area.reaper-flip .rf-play {
  width: 320px;
  height: 92px;
  margin-top: 20px;
  border-radius: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: rf-rise 0.4s 0.35s ease-out both, rf-bob 2.2s 1.2s ease-in-out infinite;
  background: linear-gradient(#ffd27a 0%, #ffa53a 48%, #e0600c 100%);
  border: 5px solid #120a1c;
  box-shadow: inset 0 -8px 0 #a83f05, inset 0 4px 0 rgba(255, 255, 255, 0.4), 0 9px 0 #120a1c, 0 18px 30px rgba(0, 0, 0, 0.45);
}
#full-area.reaper-flip .rf-play:hover {
  filter: brightness(1.08);
}
#full-area.reaper-flip .rf-play:active {
  animation: none;
  transform: translateY(6px);
  box-shadow: inset 0 -8px 0 #a83f05, inset 0 4px 0 rgba(255, 255, 255, 0.4), 0 3px 0 #120a1c, 0 6px 12px rgba(0, 0, 0, 0.3);
}
#full-area.reaper-flip .rf-play span {
  font: 54px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 10px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 4px 0 #120a1c;
  letter-spacing: 4px;
  padding-top: 5px;
}
#full-area.reaper-flip .rf-howto {
  display: flex;
  gap: 10px;
  margin-top: 26px;
  animation: rf-rise 0.45s 0.5s ease-out both;
}
#full-area.reaper-flip .rf-howto-item {
  width: 176px;
  padding: 10px 12px 12px;
  border-radius: 18px;
  background: linear-gradient(#3b1f5c, #24103c);
  border: 4px solid #120a1c;
  box-shadow: 0 5px 0 #120a1c, 0 0 18px rgba(181, 108, 255, 0.25);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
#full-area.reaper-flip .rf-howto-item b {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #b56cff;
  border: 3px solid #120a1c;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 20px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 4px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 0 0 #120a1c;
}
#full-area.reaper-flip .rf-howto-item span {
  font-size: 16px;
  line-height: 1.15;
  color: #f3ecff;
}
#full-area.reaper-flip .rf-overlay {
  position: absolute;
  inset: 0;
  padding: 110px 0 70px;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at 50% 42%, rgba(18, 7, 31, 0.55), rgba(18, 7, 31, 0.92));
  animation: rf-fade 0.3s ease-out both;
}
#full-area.reaper-flip[data-state=gameover] .rf-gameover {
  display: flex;
}
#full-area.reaper-flip .rf-card {
  position: relative;
  width: 540px;
  padding: 58px 30px 22px;
  border-radius: 270px 270px 24px 24px/150px 150px 24px 24px;
  background: linear-gradient(90deg, #5c5a70, #a6a4b8 40%, #6e6c84);
  border: 5px solid #120a1c;
  box-shadow: inset 0 -10px 0 rgba(18, 10, 28, 0.35), inset 0 4px 0 rgba(255, 255, 255, 0.35), 0 10px 0 #120a1c, 0 24px 40px rgba(0, 0, 0, 0.55);
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: rf-card-in 0.55s cubic-bezier(0.2, 1.3, 0.4, 1) both;
}
#full-area.reaper-flip .rf-card::before {
  content: "";
  position: absolute;
  left: 40px;
  bottom: -14px;
  width: 90px;
  height: 26px;
  border-radius: 50%;
  background: #2d5431;
  border: 4px solid #120a1c;
}
#full-area.reaper-flip .rf-gameover[data-best="1"] .rf-card {
  animation: rf-card-in 0.55s cubic-bezier(0.2, 1.3, 0.4, 1) both, rf-best-glow 1.6s 0.6s ease-in-out infinite;
}
#full-area.reaper-flip .rf-ribbon {
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%) rotate(-2deg);
  padding: 10px 40px 8px;
  border-radius: 16px;
  background: linear-gradient(#b56cff, #6b2fa8);
  border: 4px solid #120a1c;
  box-shadow: 0 6px 0 #120a1c, 0 0 18px rgba(181, 108, 255, 0.25);
  white-space: nowrap;
}
#full-area.reaper-flip .rf-ribbon span {
  font: 46px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 8px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 3px 0 #120a1c;
}
#full-area.reaper-flip .rf-gameover[data-best="1"] .rf-ribbon {
  background: linear-gradient(#b8ffd0, #2fbf6b);
}
#full-area.reaper-flip .rf-card-label {
  font-style: normal;
  font-size: 22px;
  letter-spacing: 3px;
  color: #120a1c;
  opacity: 0.7;
}
#full-area.reaper-flip .rf-card-score {
  font: 88px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 11px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 5px 0 #120a1c;
  margin: 4px 0 14px;
}
#full-area.reaper-flip .rf-card-stats {
  display: flex;
  width: 100%;
  border-radius: 20px;
  background: rgba(18, 10, 28, 0.85);
  padding: 12px 6px;
}
#full-area.reaper-flip .rf-card-stats span {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
#full-area.reaper-flip .rf-card-stats span + span {
  border-left: 2px solid rgba(243, 236, 255, 0.14);
}
#full-area.reaper-flip .rf-card-stats em {
  font-style: normal;
  font-size: 15px;
  letter-spacing: 2px;
  color: #b9a6d8;
}
#full-area.reaper-flip .rf-card-stats b {
  font: 34px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 5px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 2px 0 #120a1c;
}
#full-area.reaper-flip .rf-actions {
  display: flex;
  gap: 22px;
  margin-top: 30px;
  animation: rf-rise 0.4s 0.3s ease-out both;
}
#full-area.reaper-flip .rf-button {
  width: 280px;
  height: 80px;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#full-area.reaper-flip .rf-button span {
  font: 36px/1 "Reaper Lilita", sans-serif;
  color: #f3ecff;
  -webkit-text-stroke: 7px #120a1c;
  paint-order: stroke fill;
  text-shadow: 0 3px 0 #120a1c;
  letter-spacing: 2px;
  padding-top: 4px;
}
#full-area.reaper-flip .rf-button-gold {
  background: linear-gradient(#ffd27a 0%, #ffa53a 48%, #e0600c 100%);
  border: 5px solid #120a1c;
  box-shadow: inset 0 -8px 0 #a83f05, inset 0 4px 0 rgba(255, 255, 255, 0.4), 0 9px 0 #120a1c, 0 18px 30px rgba(0, 0, 0, 0.45);
}
#full-area.reaper-flip .rf-button-gold:hover {
  filter: brightness(1.08);
}
#full-area.reaper-flip .rf-button-gold:active {
  animation: none;
  transform: translateY(6px);
  box-shadow: inset 0 -8px 0 #a83f05, inset 0 4px 0 rgba(255, 255, 255, 0.4), 0 3px 0 #120a1c, 0 6px 12px rgba(0, 0, 0, 0.3);
}
#full-area.reaper-flip .rf-button-blue {
  background: linear-gradient(#d19bff 0%, #9a4fe0 48%, #5b2a93 100%);
  border: 5px solid #120a1c;
  box-shadow: inset 0 -8px 0 #3b1a63, inset 0 4px 0 rgba(255, 255, 255, 0.4), 0 9px 0 #120a1c, 0 18px 30px rgba(0, 0, 0, 0.45);
}
#full-area.reaper-flip .rf-button-blue:hover {
  filter: brightness(1.08);
}
#full-area.reaper-flip .rf-button-blue:active {
  animation: none;
  transform: translateY(6px);
  box-shadow: inset 0 -8px 0 #3b1a63, inset 0 4px 0 rgba(255, 255, 255, 0.4), 0 3px 0 #120a1c, 0 6px 12px rgba(0, 0, 0, 0.3);
}
#full-area.reaper-flip .rf-message {
  position: absolute;
  left: 50%;
  top: 128px;
  transform: translateX(-50%);
  max-width: 760px;
  padding: 12px 22px;
  border-radius: 18px;
  background: #24103c;
  color: #f3ecff;
  border: 4px solid #120a1c;
  font: 20px/1.2 "Reaper Lilita", sans-serif;
  text-align: center;
}
