.activity-redeem-dialog {
  box-sizing: border-box;
  width: min(520px, calc(100vw - 28px));
  max-height: calc(100dvh - 36px);
  margin: auto;
  padding: 24px;
  border: 1px solid #e4e7eb;
  border-radius: 16px;
  background: #fff;
  color: #17202a;
  overflow: auto;
}
.activity-redeem-dialog::backdrop { background: rgb(20 28 36 / 42%); }
.activity-redeem-dialog [hidden] { display: none !important; }
.activity-redeem-dialog header { display: flex; align-items: center; gap: 16px; }
.activity-redeem-dialog h2 { flex: 1; margin: 0; font-size: 22px; }
.activity-redeem-dialog header button {
  border: 0; background: none; color: inherit; font-size: 28px; min-width: 44px;
}
.activity-redeem-dialog p { line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.activity-redeem-dialog label { display: block; margin: 20px 0 8px; font-weight: 600; }
.activity-redeem-dialog input {
  box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 12px;
  border: 1px solid #b8c0c8; border-radius: 8px; font: inherit; font-size: 18px;
  background: #fff; color: inherit; text-transform: uppercase;
}
.activity-redeem-dialog #activity-redeem-hint { font-size: 13px; color: #56616e; }
.activity-redeem-dialog button { cursor: pointer; min-height: 44px; }
.activity-redeem-dialog button:disabled { opacity: .6; cursor: wait; }
.activity-redeem-dialog :focus-visible { outline: 2px solid #d95600; outline-offset: 3px; }
[data-activity-redeem-entry]:empty { display: none; }
@media (max-width: 620px) { .activity-redeem-dialog { padding: 18px; } }
