.game-invitation-region {
  position: fixed;
  z-index: 1200;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  width: min(390px, calc(100vw - 32px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.game-invitation-region[hidden] { display: none; }
.game-invitation-list { display: grid; gap: 10px; max-height: min(70vh, 620px); overflow: auto; padding: 2px; }

.game-invitation-card,
.game-invitation-feedback {
  pointer-events: auto;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid rgba(210, 177, 106, .5);
  border-radius: 14px;
  background: #082219;
  color: #f5efdf;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .4);
}

.game-invitation-card { padding: 17px; }
.game-invitation-card header { display: grid; gap: 3px; margin-bottom: 10px; }
.game-invitation-eyebrow { color: #d8b76f; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.game-invitation-card h2 { margin: 0; color: #fff8e7; font-family: Georgia, "Times New Roman", serif; font-size: 1.18rem; line-height: 1.25; }
.game-invitation-copy,
.game-invitation-meta,
.game-invitation-remaining,
.game-invitation-support-note,
.game-invitation-error { margin: 0; line-height: 1.45; }
.game-invitation-copy { color: #ece2cd; }
.game-invitation-meta { margin-top: 7px; color: #b8c5bc; font-size: .84rem; }
.game-invitation-remaining { margin-top: 8px; color: #d8b76f; font-size: .83rem; font-weight: 700; }
.game-invitation-support-note { margin-top: 9px; color: #f2d99b; font-size: .86rem; font-weight: 700; }
.game-invitation-error { margin-top: 9px; color: #ffd0c9; font-size: .86rem; }
.game-invitation-actions { display: flex; gap: 9px; margin-top: 14px; }

.game-invitation-actions button {
  flex: 1 1 0;
  min-width: 0;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #c9a35d;
  border-radius: 9px;
  color: #f8f0df;
  background: #174d3d;
  font: 700 .9rem/1.2 system-ui, -apple-system, "Segoe UI", sans-serif;
  cursor: pointer;
}

.game-invitation-actions button.primary { border-color: #e0bd70; color: #17251f; background: #e2bd6c; }
.game-invitation-actions button:hover:not(:disabled) { border-color: #f0cf85; }
.game-invitation-actions button:disabled { cursor: wait; opacity: .62; }
.game-invitation-card button:focus-visible { outline: 3px solid #f3cf7a; outline-offset: 3px; }
.game-invitation-feedback { padding: 11px 14px; font: 500 .88rem/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
.game-invitation-feedback[data-type="error"] { border-color: rgba(221, 115, 98, .72); color: #ffd5cd; }
.game-invitation-feedback[data-type="success"] { color: #d9edcf; }

@media (max-width: 540px) {
  .game-invitation-region {
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    bottom: max(10px, env(safe-area-inset-bottom));
    width: auto;
  }
  .game-invitation-card { padding: 15px; }
}
