/* Inherits the theme's font and colours; only layout and state colours are set here. */
.pi-verify { max-width: 40rem; }
.pi-verify__form { display: grid; gap: 1rem; }

.pi-verify__drop {
  display: block;
  padding: 2rem 1.5rem;
  border: 2px dashed currentColor;
  border-radius: 0.5rem;
  opacity: 0.85;
  cursor: pointer;
  text-align: center;
}
.pi-verify__drop.is-over,
.pi-verify__drop:focus-within { opacity: 1; background: rgba(0, 0, 0, 0.03); }
.pi-verify__input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.pi-verify__prompt { display: block; font-weight: 600; }
.pi-verify__hint { display: block; margin-top: 0.5rem; font-size: 0.875em; opacity: 0.7; }

.pi-verify__button { justify-self: start; }
.pi-verify__button[disabled] { opacity: 0.5; cursor: not-allowed; }

.pi-verify__result { margin-top: 1.5rem; padding: 1.25rem 1.5rem; border-left: 4px solid; border-radius: 0.25rem; }
.pi-verify__result.is-valid   { border-color: #2e7d32; background: rgba(46, 125, 50, 0.08); }
.pi-verify__result.is-invalid { border-color: #c62828; background: rgba(198, 40, 40, 0.08); }
.pi-verify__result.is-error   { border-color: #8a6d00; background: rgba(138, 109, 0, 0.08); }
.pi-verify__headline { margin: 0 0 0.5rem; font-size: 1.25em; font-weight: 700; }
.pi-verify__result p { margin: 0 0 0.75rem; }

.pi-verify__checks { list-style: none; margin: 1rem 0 0; padding: 0; }
.pi-verify__checks li { padding-left: 1.75rem; position: relative; margin-bottom: 0.35rem; }
.pi-verify__checks li::before { position: absolute; left: 0; font-weight: 700; }
.pi-verify__checks li.is-ok::before   { content: "✓"; color: #2e7d32; }
.pi-verify__checks li.is-fail::before { content: "✕"; color: #c62828; }

.pi-verify__hash { margin-top: 1rem; font-size: 0.8em; opacity: 0.7; word-break: break-all; }
