/* Pith Seal: drop zone, status lines and hash cells on the site's own tokens. */
.seal-box {
  border: var(--bw, 2.5px) solid var(--ink, #0d0d0c);
  padding: 20px 22px;
  margin: 18px 0 28px;
  background: var(--white, #fff);
}
.seal-drop {
  border: 2px dashed var(--line, #d8d6cf);
  padding: 22px;
  margin-bottom: 14px;
  transition: border-color 0.15s, background 0.15s;
}
.seal-drop.over {
  border-color: var(--act, #1e3cff);
  background: rgba(30, 60, 255, 0.04);
}
.seal-drop p { margin: 0 0 10px; }
.seal-pickers { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.seal-pickers label { cursor: pointer; }
.seal-status { min-height: 1.4em; overflow-wrap: anywhere; }
.seal-page .seal-status.bad { color: var(--red, #c8401f); }
.seal-page .seal-status.good { color: var(--green, #0b7a3e); }
.seal-done { border-top: 1px solid var(--line, #d8d6cf); margin-top: 14px; padding-top: 12px; }
.seal-done h2 { margin-top: 0; }
.seal-hash { overflow-wrap: anywhere; word-break: break-all; font-size: 13px; }
.seal-files td:first-child { width: 28px; }
.seal-files .ok { color: var(--green, #0b7a3e); }
.seal-files .bad { color: var(--red, #c8401f); }
.seal-reveal label { display: grid; gap: 4px; max-width: 520px; font-size: 13px; }
.seal-reveal input { font: inherit; padding: 8px 10px; border: 2px solid var(--ink, #0d0d0c); }
.seal-downloads li { margin: 4px 0; }
.seal-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 18px 0; }
.seal-hero { padding: 18px 0 8px; border-bottom: 2px solid var(--ink, #0d0d0c); margin-bottom: 26px; }
.seal-hero h1 { font-size: clamp(32px, 5vw, 54px); line-height: 1.02; margin: 6px 0 14px; max-width: 16ch; }
.seal-lede { font-size: 19px; line-height: 1.5; max-width: 60ch; margin: 0; }
.seal-steps { padding-left: 22px; max-width: 70ch; }
.seal-steps li { margin: 10px 0; }
.seal-plans {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 14px 0 30px;
}
.seal-plan {
  border: var(--bw, 2.5px) solid var(--ink, #0d0d0c);
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  background: var(--white, #fff);
}
.seal-plan h3 { margin: 0 0 6px; }
.seal-plan ul { padding-left: 18px; margin: 8px 0 16px; flex: 1; }
.seal-plan li { margin: 5px 0; }
.seal-plan-pro { box-shadow: var(--shadow-sm, 5px 5px 0 #0d0d0c); }
.seal-price { font-size: 24px; font-weight: 800; margin: 0 0 4px; }
.seal-price .meta { font-size: 14px; font-weight: 400; }
.seal-subscribe { display: flex; flex-wrap: wrap; gap: 10px; }
.seal-faq h3 { margin: 18px 0 4px; font-size: 17px; }
.seal-faq p { margin: 0; max-width: 70ch; }
.seal-notice { border-left: 4px solid var(--green, #0b7a3e); padding: 8px 12px; background: rgba(11, 122, 62, 0.06); }
.seal-pro-note { margin: 0 0 8px; }
.seal-field label { display: grid; gap: 4px; max-width: 420px; font-size: 13px; }
.seal-field input { font: inherit; padding: 8px 10px; border: 2px solid var(--ink, #0d0d0c); }
form.seal-field { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-top: 12px; }
.seal-check label { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.seal-attested { font-size: 13px; }
.seal-key { font-size: 14px; user-select: all; }
.seal-keep { border-top: 1px solid var(--line, #d8d6cf); margin: 14px 0 6px; padding-top: 10px; }
.seal-keep .seal-check { margin: 0 0 8px; }
.seal-keep .seal-check .meta { display: block; margin-left: 24px; }
.seal-field textarea, .seal-field select {
  font: 14px/1.5 ui-monospace, Menlo, monospace;
  padding: 8px 10px;
  border: 2px solid var(--ink, #0d0d0c);
  width: 100%;
  max-width: 560px;
  box-sizing: border-box;
}
.seal-field select { width: auto; font-family: inherit; }
.seal-footer-cta { border-top: 2px solid var(--ink, #0d0d0c); padding-top: 20px; margin-top: 30px; }
.seal-cmd {
  background: #f6f5f1;
  border: 1px solid var(--line, #d8d6cf);
  padding: 14px 16px;
  font-size: 13px;
  overflow-x: auto;
  white-space: pre;
}
