.game-container {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 0.5vw;
  border-radius: 1.5vw;
  overflow: hidden;
}
.rul .title{font-size:3.6vw;font-weight:700;color:var(--text-color);text-transform:uppercase;margin-bottom:2vw;letter-spacing:.2vw}
.random {
  position: relative;
  width: 100%;
  height: 12vw;
}
.cards {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  display: flex;
  will-change: transform;
  transition: transform 5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.card {
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:10vw;height:100%;margin:0 .5vw;border-radius:1vw;font-size:1vw;font-weight:600;
  transition:.3s ease;padding:.5vw;text-align:center;background:#fff;border:1px solid #f8f8f8;
}
.card img{width:7vw;height:7vw;margin-bottom:.5vw}
.result {
  position:absolute;z-index:10;left:50%;top:-1vw;transform:translateX(-50%);
  width:0;height:0;border-left:1.5vw solid transparent;border-right:1.5vw solid transparent;border-top:2vw solid var(--text-color);
}
.start,.claim{padding:1rem 1.4rem;border-radius:10px;cursor:pointer;border:none}
.start:disabled,.claim:disabled{background:#b3b3b3;cursor:not-allowed;box-shadow:none}
.start:focus,.claim:focus{outline:none}
.start:hover,.claim:hover{opacity:.9}
.phone-form{margin-bottom:2vw;display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap}
.rulflex{display:flex;align-items:center;justify-content:center}
.phone-input{padding:1.2rem 1.6rem;border-radius:10px;transition:.3s ease;background:#f3f3f3;border:none;font-size:1rem}
.phone-input:focus{outline:none;box-shadow:0 0 0 2px rgba(0,0,0,.06)}
.error-message{margin-top:1vw;font-size:1rem;color:#c0392b}
.result-message{font-size:1.1rem;margin-top:1vw;text-align:center}
.promo-code{font-size:1.1rem;margin:1vw 0;font-weight:700;background:#fff}
.promo-code span{display:inline-block;color:#404040;border:2px dashed;padding:.3vw 1vw;border-radius:4px;position:relative}
.winning-card{animation:pulse .5s infinite;background:#ffeaa7}
@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}100%{transform:scale(1)}}

@media (max-width:768px){
  .game-container{width:90vw;height:auto;padding:4vw;border-radius:12px}
  .random{width:100%;height:30vw}
  .card{width:28vw;font-size:3.5vw;padding:3vw 0;margin:0 2vw 0 0}
  .card img{width:12vw;height:12vw}
  .start,.claim{padding:4vw;font-size:3.5vw}
  .phone-input{padding:4vw;font-size:3.5vw;margin:1vw 0 2vw}
  .error-message{font-size:3vw}
  .result-message{font-size:4vw}
  .promo-code{font-size:5vw}
}