.emulator-actions .fpb-emulator-score-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:34px;
  max-width:150px;
  padding:6px 10px;
  border:1px solid rgba(125,211,252,.32);
  border-radius:10px;
  background:rgba(4,12,24,.82);
  color:#eaf7ff;
  font:800 11px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:nowrap;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  cursor:default;
}
.emulator-actions .fpb-emulator-score-pill[hidden]{display:none!important}
.emulator-actions .fpb-emulator-score-pill .fpb-emulator-score-icon{color:#7dd3fc;font-size:12px}
.emulator-actions .fpb-emulator-score-pill .fpb-emulator-score-value{font-variant-numeric:tabular-nums}
.emulator-actions .fpb-emulator-score-pill.fpb-score-pulse{animation:fpb-score-pulse .48s ease}
.emulator-actions .fpb-emulator-score-pill.fpb-score-signin{
  border-color:rgba(250,204,21,.4);
  color:#fde68a;
  cursor:pointer;
}
.emulator-actions .fpb-emulator-score-pill.fpb-score-signin:hover,
.emulator-actions .fpb-emulator-score-pill.fpb-score-signin:focus-visible{
  border-color:rgba(250,204,21,.72);
  background:rgba(38,28,4,.92);
  outline:none;
}
.emulator-actions .fpb-emulator-score-pill > span{margin-top:0;color:inherit;font-size:inherit;line-height:inherit}
@keyframes fpb-score-pulse{0%,100%{transform:scale(1)}45%{transform:scale(1.08);box-shadow:0 0 18px rgba(56,189,248,.28)}}

.fpb-emulator-score-login-dialog{
  width:min(92vw,430px);
  max-width:430px;
  padding:0;
  border:1px solid rgba(125,211,252,.32);
  border-radius:18px;
  background:#07111f;
  color:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.62);
}
.fpb-emulator-score-login-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}
.fpb-emulator-score-login-shell{padding:18px}
.fpb-emulator-score-login-shell header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.fpb-emulator-score-login-shell header p{margin:0 0 4px;color:#7dd3fc;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.fpb-emulator-score-login-shell h2{margin:0;font-size:20px;line-height:1.15}
.fpb-emulator-score-login-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.fpb-emulator-score-login-copy{margin:14px 0 18px;color:#c5d2e5;font-size:14px;line-height:1.45}
.fpb-emulator-score-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fpb-emulator-score-login-actions button{width:100%;min-height:42px}

.fpb-emulator-score-fallback{
  position:fixed;
  z-index:2147483000;
  top:calc(env(safe-area-inset-top) + 8px);
  left:50%;
  width:min(92vw,430px);
  transform:translate(-50%,-12px);
  opacity:0;
  pointer-events:none;
  padding:10px 12px;
  border:1px solid rgba(125,211,252,.38);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(8,18,36,.97),rgba(3,8,18,.97));
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.48);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:opacity .2s ease,transform .2s ease;
}
.fpb-emulator-score-fallback.fpb-show{opacity:1;transform:translate(-50%,0)}
.fpb-emulator-score-fallback strong{display:block;font-size:14px;line-height:1.15}
.fpb-emulator-score-fallback span{display:block;margin-top:3px;color:#b8c7dc;font-size:12px;line-height:1.25}

@media (max-width:560px){
  .emulator-actions .fpb-emulator-score-pill{min-height:32px;padding:5px 7px;font-size:10px;max-width:105px}
  .emulator-actions .fpb-emulator-score-pill:not(.fpb-score-signin) .fpb-emulator-score-label{display:none}
}

/* v29: contained score-gain animation; no play-area overlay for routine +1 time points. */
.emulator-actions .fpb-emulator-score-pill {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.emulator-actions .fpb-emulator-score-pill.fpb-score-gain {
  border-color: rgba(250,204,21,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 0 0 1px rgba(250,204,21,.12), 0 0 18px rgba(250,204,21,.22);
  animation: fpb-score-gain-pop .72s cubic-bezier(.2,.8,.2,1);
}
.emulator-actions .fpb-emulator-score-pill.fpb-score-gain .fpb-emulator-score-icon {
  color: #facc15;
  animation: fpb-score-star-spin .72s ease;
}
.emulator-actions .fpb-emulator-score-pill.fpb-score-gain .fpb-emulator-score-value {
  color: #fff7b2;
  text-shadow: 0 0 10px rgba(250,204,21,.65);
}
.fpb-score-gold-rain {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  border-radius: inherit;
}
.fpb-score-gold-rain i {
  position: absolute;
  top: -5px;
  left: var(--fpb-speck-x);
  width: var(--fpb-speck-size);
  height: var(--fpb-speck-size);
  border-radius: 999px;
  background: #facc15;
  box-shadow: 0 0 5px rgba(250,204,21,.9);
  opacity: 0;
  animation: fpb-score-gold-speck .68s ease-in var(--fpb-speck-delay) 1;
}
@keyframes fpb-score-gain-pop {
  0%,100% { transform: scale(1); }
  34% { transform: scale(1.1); }
  58% { transform: scale(1.035); }
}
@keyframes fpb-score-star-spin {
  0% { transform: rotate(0deg) scale(1); }
  45% { transform: rotate(145deg) scale(1.35); }
  100% { transform: rotate(360deg) scale(1); }
}
@keyframes fpb-score-gold-speck {
  0% { transform: translateY(-5px) scale(.65); opacity: 0; }
  15% { opacity: 1; }
  100% { transform: translateY(42px) scale(1.05); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .emulator-actions .fpb-emulator-score-pill.fpb-score-gain,
  .emulator-actions .fpb-emulator-score-pill.fpb-score-gain .fpb-emulator-score-icon,
  .fpb-score-gold-rain i { animation: none !important; }
}
