/* Lassi Lab: pastel Gen Z cafe counter, polaroid win card, pause overlay */

body.game {
  --bg-top: #ffe1ec;
  --bg-bottom: #ffe9d2;
  --hud-ink: #3b1f2b;
  --hud-chip: rgba(255, 255, 255, .6);
}
.stage { overscroll-behavior: none; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.subhud .chip { white-space: nowrap; font-variant-numeric: tabular-nums; }
.boost { min-height: 52px; min-width: 76px; }


.lassi-pause {
  position: absolute; inset: 0; z-index: 7; display: grid; place-content: center; gap: 6px; border: 0;
  background: rgba(59, 31, 43, .55); color: #fff; font: inherit; text-align: center;
}
.lassi-pause b { font: 700 34px/1 var(--display); }
.lassi-pause span { font-weight: 700; font-size: 17px; opacity: .9; }

.lassi-win { padding-top: 20px; }
.lassi-win .polaroid {
  margin: 0 auto; width: min(100%, 250px); padding: 12px 12px 10px; background: #fff; border-radius: 6px;
  box-shadow: 0 14px 30px -10px rgba(60, 20, 40, .45), 0 0 0 1px rgba(0, 0, 0, .05);
  transform: rotate(-3deg); animation: polaroid-in .6s cubic-bezier(.2, 1.3, .4, 1) both;
}
.lassi-win .polaroid img { width: 100%; height: auto; aspect-ratio: 1; display: block; border-radius: 2px; background: #f4e9ef; }
.lassi-win .polaroid figcaption { display: grid; gap: 0; padding-top: 8px; text-align: center; color: var(--ink); }
.lassi-win .polaroid figcaption b { font: italic 700 26px/1.1 var(--display); color: #c2185b; }
.lassi-win .polaroid figcaption span { font-size: 13px; font-weight: 700; color: var(--ink-soft); }
@keyframes polaroid-in {
  0% { transform: translateY(120px) rotate(12deg) scale(.8); opacity: 0; filter: brightness(2.2); }
  60% { filter: brightness(1.3); }
  100% { transform: rotate(-3deg); opacity: 1; filter: none; }
}
.lassi-win h2 { margin-top: 4px; }
.lassi-fail .lassi-best { font: 700 30px/1 var(--display); color: var(--chili); }
@media (max-height: 640px) {
  .lassi-win .polaroid { width: min(100%, 190px); }
  .lassi-win .stars svg { width: 36px; height: 36px; }
}
.lassi-fail .lassi-secret { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 10px; font-weight: 700; margin: 0; }
.lassi-fail .lassi-ing { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px 3px 4px; border-radius: 999px; background: #fbefe6; color: var(--ink); }
.lassi-fail .lassi-ing i { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid rgba(0, 0, 0, .15); }
.lassi-fail .lassi-secret small { flex-basis: 100%; text-align: center; color: var(--ink-soft); font-weight: 700; }
.lassi-fail .lassi-tip { font-size: 14px; font-weight: 700; color: var(--ink-soft); margin: 0; }
