/* D1 motion only. All effects are decorative and never intercept a tap. */
.d1-fx, .d1-fx * { pointer-events: none !important; }
.d1-fx {
  position: fixed; inset: 0; z-index: 80; overflow: hidden;
  contain: layout style paint; isolation: isolate;
  font-family: inherit; color: #02473B;
}
.d1-fx > * { position: absolute; margin: 0; box-sizing: border-box; }
.d1-prop { transform-origin: 50% 80%; }
.d1-prop svg { display: block; width: 100%; height: 100%; overflow: visible; }
.d1-ghost, .d1-ghost * { animation: none !important; transition: none !important; }
.d1-ghost { overflow: visible; }
.d1-label {
  direction: rtl; white-space: nowrap; font-size: 15px; font-weight: 700; font-family: Narkiss, Alenbi, sans-serif;
  font-variant-numeric: tabular-nums; line-height: 1.3;
  background: #FCFAF8; color: #02473B; border-radius: 12px;
  padding: 4px 9px; box-shadow: 0 3px 6px #01302A20;
}
.d1-combo { background: #EFA807; }
.d1-ring { border: 2px solid #EFA807; border-radius: 50%; }
.d1-empty { border-color: #FF3742; }
.d1-cook {
  border-color: #EFA80738; border-top-color: #EFA807;
  border-inline-end-color: #EFA807;
  animation: d1-turn 1.25s linear infinite;
}
.d1-steam { width: 32px; height: 34px; }
.d1-steam i {
  position: absolute; bottom: 0; left: 4px; width: 7px; height: 21px;
  border-left: 2px solid #FCFAF8; border-radius: 50%; opacity: 0;
  animation: d1-steam 2.4s ease-out infinite;
}
.d1-steam i:nth-child(2) { left: 13px; animation-delay: -.8s; }
.d1-steam i:nth-child(3) { left: 22px; animation-delay: -1.6s; }
.d1-bubbles { width: 34px; height: 14px; }
.d1-bubbles i {
  position: absolute; left: 2px; bottom: 0; width: 7px; height: 4px;
  border: 1px solid #FCFAF8; border-radius: 50%; opacity: 0;
  animation: d1-bubble .95s ease-out infinite;
}
.d1-bubbles i:nth-child(2) { left: 14px; animation-delay: -.35s; }
.d1-bubbles i:nth-child(3) { left: 26px; animation-delay: -.65s; }
.d1-warm-light {
  background: radial-gradient(ellipse at 50% 35%, #EFA8071c, transparent 70%);
  opacity: 0; animation: d1-light 2.4s ease-in-out infinite;
}
.d1-hud-pulse { border: 2px solid #EFA807; border-radius: 22px; animation: d1-danger 1.4s ease-in-out infinite; }
.tk { transform-origin: 50% 85%; }
.tk.hot { animation: d1-hot 1.1s ease-in-out infinite; }
.pot[data-state="empty"] { animation: d1-danger 1.5s ease-in-out infinite; }
g.customer, #courier { transform-box: fill-box; transform-origin: 50% 100%; }
.d1-fx[data-paused] *, #app[data-d1-paused] .tk, #app[data-d1-paused] .pot { animation-play-state: paused !important; }
@keyframes d1-steam {
  0% { transform: translateY(2px) scaleX(.8); opacity: 0; }
  25% { opacity: .6; }
  100% { transform: translateY(-17px) scaleX(1.5); opacity: 0; }
}
@keyframes d1-bubble {
  0% { transform: translateY(1px) scale(.35); opacity: 0; }
  25% { opacity: .8; }
  100% { transform: translateY(-6px) scale(1.25); opacity: 0; }
}
@keyframes d1-turn { to { transform: rotate(360deg); } }
@keyframes d1-hot { 50% { transform: scale(1.018); } }
@keyframes d1-danger { 50% { opacity: .62; } }
@keyframes d1-light { 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .d1-fx *, .tk.hot, .pot[data-state="empty"] { animation: none !important; }
  .d1-steam, .d1-bubbles, .d1-warm-light, .d1-hud-pulse { display: none; }
}
