.floor-r3 .floor-shell {
  justify-content: flex-start;
  padding-top: 10px;
}

.floor-r3 .floor-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 245px;
  align-items: stretch;
  gap: 14px;
}

.floor-r3 .cards {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.floor-r3 .card {
  min-height: 208px !important;
  padding: 12px 10px !important;
}

.floor-r3 .card_icon {
  width: 72px !important;
  height: 72px !important;
  flex-basis: 72px !important;
  margin-bottom: 7px !important;
  border-radius: 20px !important;
}

.floor-r3 .card_icon img {
  width: 54px !important;
  height: 54px !important;
}

.floor-r3 .crystal-icon {
  font-size: 2.55rem !important;
}

.floor-r3 .card_title {
  min-height: 30px;
  font-size: 1.02rem !important;
}

.floor-r3 .card_sub {
  min-height: 30px;
  font-size: 0.68rem !important;
}

.floor-r3 .game-catch { background: linear-gradient(155deg, rgba(116, 61, 79, 0.94), rgba(46, 29, 55, 0.97)) !important; }
.floor-r3 .game-path { background: linear-gradient(155deg, rgba(58, 84, 121, 0.94), rgba(25, 35, 63, 0.97)) !important; }
.floor-r3 .game-code { background: linear-gradient(155deg, rgba(116, 77, 24, 0.94), rgba(49, 31, 27, 0.97)) !important; }
.floor-r3 .game-fox { background: linear-gradient(155deg, rgba(45, 99, 80, 0.94), rgba(20, 42, 47, 0.97)) !important; }

@media (max-width: 1050px) {
  .floor-r3 .floor-content { grid-template-columns: 1fr; }
  .floor-r3 .score_panel { display: grid; grid-template-columns: 220px 1fr; gap: 14px; }
}

@media (max-width: 900px) {
  .floor-r3 .cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 620px) {
  .floor-r3 .cards { grid-template-columns: 1fr !important; }
  .floor-r3 .card {
    min-height: 124px !important;
    display: grid !important;
    grid-template-columns: 80px minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    padding: 9px !important;
  }
  .floor-r3 .card_icon {
    width: 72px !important;
    height: 72px !important;
    grid-row: 1 / 3;
    margin: 0 !important;
  }
  .floor-r3 .card-copy { align-items: flex-start; padding-left: 6px; }
  .floor-r3 .card_title { min-height: 0; justify-content: flex-start; text-align: left; }
  .floor-r3 .card_sub { min-height: 0; text-align: left; }
  .floor-r3 .play-label { justify-self: start; margin-left: 6px; }
  .floor-r3 .score_panel { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .floor-r3 .card { transition: none !important; }
}
