.pgp-settings {
  max-width: 880px;
  margin: 0 auto;
  padding: 32px 24px 64px;
}

.pgp-back {
  font-size: 13px;
  text-decoration: none;
}

.pgp-heading {
  margin: 28px 0;
}

.pgp-heading h1 {
  font-size: clamp(30px,5vw,44px);
  line-height: 1.1;
  margin: 8px 0 12px;
}

.pgp-heading p {
  margin: 0;
}

.pgp-card {
  border: 1px solid #b9b6ad;
  background: #f8f7f2;
  padding: 24px;
  margin: 20px 0;
}

.pgp-card h2 {
  font-size: 20px;
  margin: 0 0 12px;
}

.pgp-card p,.pgp-footnote,.pgp-empty {
  font-size: 14px;
  line-height: 1.6;
}

.pgp-card label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  margin: 20px 0 8px;
}

.pgp-card textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #9f9d94;
  background: #fff;
  color: #20221f;
  font: 13px/1.5 monospace;
  resize: vertical;
}

.pgp-settings .pgp-button {
  display: inline-block;
  background: #22251f;
  color: #fff;
  border: 1px solid #22251f;
  padding: 10px 16px;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 12px;
}

.pgp-settings .pgp-button.is-secondary {
  background: transparent;
  color: #22251f;
}

.pgp-settings .pgp-button.is-remove {
  background: transparent;
  border-color: transparent;
  color: #9d2f20;
  text-decoration: underline;
}

.pgp-button:focus-visible,.pgp-settings a:focus-visible {
  outline: 2px solid #d54f20;
  outline-offset: 3px;
}

.pgp-inline-form {
  display: inline-block;
}

.pgp-key-heading {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
}

.pgp-status {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  padding: 5px 8px;
  background: #e7e5dd;
}

.pgp-status.is-verified {
  background: #e2ecd6;
  color: #23421a;
}

.pgp-fingerprint span {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
}

.pgp-fingerprint code {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.pgp-card pre {
  padding: 12px;
  background: #eeede6;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 12px;
}

.pgp-card details {
  font-size: 13px;
  margin: 16px 0;
}

.pgp-card summary {
  cursor: pointer;
  text-decoration: underline;
}

.pgp-steps {
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.6;
}

.pgp-steps li {
  margin: 16px 0;
}

.pgp-steps p {
  margin: 4px 0;
}

.pgp-notice {
  border-left: 3px solid #4d6d31;
  background: #eef2e6;
  padding: 12px 16px;
  font-size: 14px;
}

.pgp-notice.is-error {
  background: #f7e6df;
  border-color: #b44229;
}

.pgp-footnote {
  color: #57594f;
  margin-top: 32px;
}

.whois-pgp-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}

.whois-pgp-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid currentColor;
  padding: 6px 9px;
  font: 12px/1.4 monospace;
  color: inherit;
  text-decoration: none;
}

.whois-pgp-links a:hover {
  background: #e2ecd6;
  color: #23421a;
}

.whois-pgp-links a:focus-visible {
  outline: 2px solid #d54f20;
  outline-offset: 3px;
}

@media(max-width:480px) {
  .pgp-settings {
    padding: 24px 16px 48px;
  }
  .pgp-card {
    padding: 18px;
  }
  .pgp-key-heading h2 {
    font-size: 17px;
  }
  .pgp-button {
    max-width: 100%;
  }
}
