/* Coin → Chomper transport overlay (src/presentation/coin-flight.mjs).
   Every moving part is transform/opacity only and is driven by WAAPI, so the
   compositor keeps the flight smooth while the main thread decodes video. */
.coin-flight-layer{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden;contain:strict}
.coin-flight{position:absolute;left:0;top:0;width:0;height:0;--coin-color:#fff;--coin-size:48px}
.coin-flight[hidden]{display:none}
.coin-flight>*{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity;pointer-events:none}
.coin-flight__coin{width:var(--coin-size);height:var(--coin-size);border-radius:50%;z-index:2;
  background:radial-gradient(circle at 42% 38%,#fff 0 10%,var(--coin-color) 38%,color-mix(in srgb,var(--coin-color) 55%,#000) 72%,transparent 74%);
  filter:drop-shadow(0 0 9px var(--coin-color)) drop-shadow(0 0 3px #fff8) drop-shadow(0 4px 3px #0009)}
.coin-flight__coin>img{display:block;width:100%;height:100%;object-fit:contain}
.coin-flight__coin:has(>img[src]){background:none}
/* Copied reel value: same lettering as .symbol .coin-value, centred on the face. */
.coin-flight__value{position:absolute;left:50%;top:50%;translate:-50% -50%;max-width:60%;white-space:nowrap;letter-spacing:0;
  color:#fffbea;-webkit-text-stroke:.55px #321208;paint-order:stroke fill;
  text-shadow:0 1px 1px #160906,1px 0 1px #160906,-1px 0 1px #160906,0 0 3px #fff0a080}
.coin-flight__value[hidden]{display:none}
/* Comet dots: hot white core, saturated colour body, soft halo; blended additively. */
.coin-flight__trail{--dot:max(14px,calc(var(--coin-size)*.42));width:var(--dot);height:var(--dot);border-radius:50%;z-index:1;
  background:radial-gradient(circle,#fff 0 18%,color-mix(in srgb,var(--coin-color) 70%,#fff) 30%,var(--coin-color) 50%,color-mix(in srgb,var(--coin-color) 60%,transparent) 63%,transparent 74%);
  box-shadow:0 0 calc(var(--dot)*.55) calc(var(--dot)*.12) color-mix(in srgb,var(--coin-color) 80%,transparent);mix-blend-mode:screen}
@supports(mix-blend-mode:plus-lighter){.coin-flight__trail{mix-blend-mode:plus-lighter}}
/* Body glow: a colour halo around the Chomper on impact (clear centre keeps the face readable). */
.coin-flight__glow{width:var(--glow-size,160px);height:var(--glow-size,160px);border-radius:50%;z-index:0;
  background:radial-gradient(circle,transparent 0 30%,color-mix(in srgb,var(--coin-color) 40%,transparent) 44%,color-mix(in srgb,var(--coin-color) 55%,transparent) 52%,transparent 70%)}
.coin-flight__ring{width:calc(var(--coin-size)*1.6);height:calc(var(--coin-size)*1.6);border-radius:50%;z-index:3;
  border:4px solid color-mix(in srgb,var(--coin-color) 60%,#fff);box-shadow:0 0 16px 3px var(--coin-color),inset 0 0 12px var(--coin-color)}
.coin-flight__flash{width:calc(var(--coin-size)*1.1);height:calc(var(--coin-size)*1.1);border-radius:50%;z-index:3;mix-blend-mode:screen;
  background:radial-gradient(circle,#fff 0 6%,color-mix(in srgb,var(--coin-color) 60%,#fff) 18%,color-mix(in srgb,var(--coin-color) 55%,transparent) 38%,transparent 60%)}
.coin-flight__spark{width:10px;height:10px;border-radius:50%;z-index:3;background:#fff;box-shadow:0 0 8px 3px var(--coin-color);mix-blend-mode:screen}
