/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./app/games/bubble-shooter/bubble.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.bubble_wrapper__X06aZ {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem;
  background: linear-gradient(180deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  overflow: hidden;
}

.bubble_container__WyOPo {
  width: 100%;
  max-width: 450px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Header */
.bubble_header__wOamt {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0.5rem;
  padding: 0 0.5rem;
}

.bubble_titleBlock__KeJYJ h1 {
  font-family: var(--font-raleway, sans-serif);
  font-weight: 900;
  font-size: 1.5rem;
  color: #e94560;
  line-height: 1;
  text-shadow: 0 2px 10px rgba(233, 69, 96, 0.3);
}

.bubble_subtitle__gWJ1O {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 2px;
}

.bubble_stats__ICNC6 {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.bubble_stat__udVYk {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.bubble_statLabel__nemCO {
  font-size: 0.6rem;
  font-weight: 600;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.bubble_statValue__qRNsD {
  font-family: 'Courier New', monospace;
  font-size: 1rem;
  font-weight: 700;
  color: white;
}

/* Game area */
.bubble_gameArea__2eneW {
  position: relative;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 0.75;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 12px;
  overflow: hidden;
  touch-action: none;
  cursor: crosshair;
}

.bubble_gameCanvas__aopSu {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Shooter */
.bubble_shooter__T2eAw {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.bubble_shooterBase__ltXEn {
  position: absolute;
  width: 60px;
  height: 30px;
  background: linear-gradient(180deg, #4a4a6a 0%, #2a2a4a 100%);
  border-radius: 0 0 30px 30px;
  bottom: 0;
}

.bubble_shooterArrow__vsc8l {
  position: absolute;
  width: 4px;
  height: 60px;
  background: linear-gradient(180deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.2) 100%);
  transform-origin: bottom center;
  bottom: 15px;
  border-radius: 2px;
  pointer-events: none;
}

/* Current bubble (to shoot) */
.bubble_currentBubble__BuphZ {
  position: absolute;
  border-radius: 50%;
  box-shadow:
    inset -3px -3px 8px rgba(0, 0, 0, 0.3),
    inset 3px 3px 8px rgba(255, 255, 255, 0.2),
    0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 11;
}

/* Next bubble indicator */
.bubble_nextBubble__YOe6a {
  position: absolute;
  bottom: 10px;
  left: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 10;
}

.bubble_nextLabel__QMtou {
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
}

.bubble_nextBubblePreview__zQPhv {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow:
    inset -2px -2px 4px rgba(0, 0, 0, 0.3),
    inset 2px 2px 4px rgba(255, 255, 255, 0.2);
}

/* Aim line */
.bubble_aimLine__NATT_ {
  position: absolute;
  bottom: 45px;
  left: 50%;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,0.6) 0%, transparent 100%);
  transform-origin: left center;
  pointer-events: none;
  z-index: 5;
}

/* Controls */
.bubble_controls__CfbSq {
  display: flex;
  gap: 8px;
  margin-top: 0.75rem;
  width: 100%;
  max-width: 300px;
  justify-content: center;
}

.bubble_controlBtn__RCAzM {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 16px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  transition: all 0.15s;
  flex: 1;
  min-width: 80px;
}

.bubble_controlBtn__RCAzM:active {
  background: rgba(255, 255, 255, 0.2);
}

.bubble_controlIcon__JqfNh {
  font-size: 1.3rem;
}

.bubble_controlLabel__gDoZz {
  font-size: 0.55rem;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
}

/* Bubble colors */
.bubble_bubbleRed__Dfh7X { background: radial-gradient(circle at 30% 30%, #ff6b6b, #c0392b); }
.bubble_bubbleBlue__xUKjt { background: radial-gradient(circle at 30% 30%, #74b9ff, #2980b9); }
.bubble_bubbleGreen__yp9fp { background: radial-gradient(circle at 30% 30%, #55efc4, #00b894); }
.bubble_bubbleYellow__miH5X { background: radial-gradient(circle at 30% 30%, #ffeaa7, #f39c12); }
.bubble_bubblePurple__xr7XP { background: radial-gradient(circle at 30% 30%, #a29bfe, #6c5ce7); }
.bubble_bubbleOrange__DB_oT { background: radial-gradient(circle at 30% 30%, #fab1a0, #e17055); }

/* Overlays */
.bubble_overlay__6_cqF {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.bubble_modal__O3OJk {
  background: linear-gradient(145deg, #1a1a2e, #16213e);
  border: 2px solid rgba(233, 69, 96, 0.3);
  border-radius: 16px;
  padding: 32px;
  max-width: 320px;
  width: 90%;
  text-align: center;
}

.bubble_modal__O3OJk h2 {
  font-family: var(--font-raleway, sans-serif);
  font-weight: 900;
  font-size: 1.8rem;
  color: #e94560;
  margin-bottom: 12px;
  text-shadow: 0 2px 10px rgba(233, 69, 96, 0.3);
}

.bubble_modal__O3OJk p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.95rem;
  margin-bottom: 20px;
  line-height: 1.6;
}

.bubble_modalStats__sis4K {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-bottom: 20px;
}

.bubble_modalStat__1qCPs {
  text-align: center;
}

.bubble_modalStatValue__e4F0v {
  font-size: 1.8rem;
  font-weight: 800;
  color: white;
}

.bubble_modalStatLabel__TiHDP {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
}

.bubble_btn__vhNZ0 {
  background: linear-gradient(145deg, #e94560, #c73e54);
  color: white;
  border: none;
  padding: 14px 32px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  width: 100%;
}

.bubble_btn__vhNZ0:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(233, 69, 96, 0.4);
}

/* Start screen */
.bubble_startScreen__IL0bJ {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  z-index: 100;
}

.bubble_startTitle__rwnkr {
  font-family: var(--font-raleway, sans-serif);
  font-size: 2rem;
  font-weight: 900;
  color: #e94560;
  text-shadow: 0 2px 10px rgba(233, 69, 96, 0.3);
}

.bubble_startInstructions__AHulP {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.85rem;
  text-align: center;
  max-width: 280px;
  line-height: 1.5;
}

.bubble_startBtn__9iajQ {
  background: linear-gradient(145deg, #e94560, #c73e54);
  color: white;
  border: none;
  padding: 14px 40px;
  border-radius: 8px;
  font-size: 1.1rem;
  font-weight: 700;
  cursor: pointer;
  margin-top: 8px;
  transition: transform 0.2s;
}

.bubble_startBtn__9iajQ:hover {
  transform: scale(1.05);
}

/* Pop animation */
@keyframes bubble_pop__SqVdn {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.5; }
  100% { transform: scale(0); opacity: 0; }
}

.bubble_bubblePopping__5m8mL {
  animation: bubble_pop__SqVdn 0.3s ease-out forwards;
}

/* Fall animation */
@keyframes bubble_fall__xkEpJ {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(100px); opacity: 0; }
}

.bubble_bubbleFalling__0aGNy {
  animation: bubble_fall__xkEpJ 0.5s ease-in forwards;
}

/* Responsive */
@media (max-width: 450px) {
  .bubble_wrapper__X06aZ {
    padding: 0.25rem;
  }

  .bubble_titleBlock__KeJYJ h1 {
    font-size: 1.3rem;
  }

  .bubble_stats__ICNC6 {
    gap: 10px;
  }

  .bubble_statValue__qRNsD {
    font-size: 0.9rem;
  }

  .bubble_gameArea__2eneW {
    border-radius: 8px;
  }

  .bubble_controlBtn__RCAzM {
    padding: 8px 12px;
    min-width: 70px;
  }

  .bubble_controlIcon__JqfNh {
    font-size: 1.1rem;
  }

  .bubble_controlLabel__gDoZz {
    font-size: 0.5rem;
  }
}

