/* 氣泡（無酒精 · 清爽 · 平靜） */
#bubbles {
  position: fixed;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 5;
}
.bubble {
  position: absolute;
  bottom: -40px;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, rgba(255,255,255,.95), rgba(255,255,255,.28) 42%, rgba(255,255,255,.06) 70%);
  box-shadow: inset 0 0 6px rgba(255,255,255,.55);
  opacity: 0;
  animation: bubbleRise linear infinite;
}
.bubble::after {
  content: '';
  position: absolute;
  top: 16%;
  left: 22%;
  width: 22%;
  height: 22%;
  border-radius: 50%;
  background: rgba(255,255,255,.85);
}
@keyframes bubbleRise {
  0%   { transform: translate3d(0, 0, 0) scale(.55); opacity: 0; }
  8%   { opacity: .72; }
  50%  { transform: translate3d(14px, -46vh, 0) scale(.9); }
  88%  { opacity: .55; }
  100% { transform: translate3d(-10px, -105vh, 0) scale(1.08); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .bubble { animation: none; opacity: .35; }
}
