.proof-dialog {
  background: #fff;
  border: 0;
  border-radius: 24px;
  box-shadow: 0 24px 80px #1a18164d;
  color: var(--ink);
  max-width: 342px;
  padding: 28px 24px 25px;
  width: calc(100% - 32px);
}

.proof-dialog::backdrop { background: #1a181680; }
.proof-dialog form { position: relative; }
.proof-dialog h2 { font-size: 30px; letter-spacing: -1px; margin: 28px 0 10px; }
.proof-dialog p:not(.eyebrow) { color: var(--muted); font-size: 14px; line-height: 1.4; margin: 0 0 20px; }
.dialog-close { background: transparent; border: 0; cursor: pointer; font-size: 27px; line-height: 1; padding: 0; position: absolute; right: 0; top: -4px; }
.upload-zone { align-items: center; background: #faf7f2; border: 1.25px dashed var(--line); border-radius: 16px; cursor: pointer; display: flex; height: 156px; justify-content: center; overflow: hidden; position: relative; text-align: center; }
.upload-zone input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.upload-empty { font-size: 14px; font-weight: 600; line-height: 1.55; }
.upload-empty small { color: var(--muted); font-size: 11px; font-weight: 500; }
#proof-preview { height: 100%; object-fit: cover; width: 100%; }
.proof-dialog .primary { bottom: auto; left: 0; margin-top: 22px; position: relative; width: 100%; }
.proof-dialog .primary:disabled { background: #a7a39d; cursor: not-allowed; }
.quest.has-proof::before { background: var(--green); border-radius: 50%; color: white; content: '✓'; display: grid; font-size: 10px; height: 19px; left: 14px; place-items: center; position: absolute; width: 19px; }
.quest { position: relative; }
