/* =============================================================================
   PORTAL GAME API — trusted purchase-confirm dialog (parent chrome).
   Reuses the global .modal/.btn styling (styles/misc.css + styles/buttons.css);
   only the host-specific bits live here. The dialog MUST sit above the
   fullscreen game overlay (z:1000) and the pooled play iframe (z:1001-1003) —
   the game is paused behind it but still painted — so .wfe-purchase-back lifts
   above 1003. .modal-back's own z:900 is overridden here.
   ============================================================================= */
.wfe-purchase-back {
  z-index: 2100;
}
.wfe-purchase-modal {
  max-width: 380px;
  text-align: center;
}
.wfe-purchase-lead {
  margin: 4px 0 18px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text);
}
.wfe-purchase-lead b {
  color: var(--text);
  font-weight: 700;
}
.wfe-purchase-actions {
  display: flex;
  gap: 10px;
  justify-content: center;
}
.wfe-purchase-actions .btn {
  min-width: 110px;
}

/* Диалог «Оцените игру» (wfe.rating.request) — те же модальные основы, свой ряд
   звёзд. Заливку «до наведённой включительно» ставит JS классом .sel (работает
   и на таче, где hover нет). */
.wfe-rate-req-stars {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin: 6px 0 18px;
}
.wfe-rate-req-star {
  background: none;
  border: 0;
  padding: 4px;
  cursor: pointer;
  color: var(--muted, #b3a89c);
  line-height: 0;
}
.wfe-rate-req-star svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  stroke-linejoin: round;
}
.wfe-rate-req-star.sel {
  color: var(--warn, #d59148);
}
.wfe-rate-req-star.sel svg {
  fill: currentColor;
}
.wfe-rate-req-star:disabled {
  cursor: default;
  opacity: 0.7;
}
