.proof-figure {
  --proof-ink: #d3f879;
  --proof-muted: #b7c8a5;
  --proof-line: #627b4d;
  --proof-paper: #102017;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 378px;
  margin: 0;
  padding: 25px clamp(17px, 3.4vw, 34px) 27px;
  background: var(--proof-paper);
  color: var(--proof-ink);
  font-family: var(--mono, "Cascadia Code", Consolas, monospace);
}
.proof-caption {
  padding-bottom: 16px;
  border-bottom: 1px solid #3d5538;
  color: #c2d1b9;
  font: 13px/1.5 var(--mono, "Cascadia Code", Consolas, monospace);
}
.proof-map { width: 100%; max-width: 490px; min-width: 0; margin: auto; padding-top: 22px; }
.proof-local { display: grid; grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1fr); align-items: center; min-height: 58px; }
.proof-file { display: flex; align-items: center; justify-content: center; gap: 12px; padding-right: 9px; }
.proof-file-icon { display: block; flex: 0 0 35px; width: 35px; height: 46px; }
.proof-file-label { color: #d9e2d2; font-size: 13px; line-height: 1.4; }
.proof-hash-link { display: block; width: 32px; height: 20px; overflow: visible; }
.proof-hash { display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 58px; border: 1px solid #819e57; padding: 9px 8px; text-align: center; font-size: 15px; line-height: 1.3; }
.proof-label { display: block; color: var(--proof-muted); font-size: 11px; line-height: 1.4; }
.proof-tree { display: block; width: 100%; height: 94px; overflow: visible; }
.proof-line { fill: none; stroke: currentColor; stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.proof-line-secondary { color: var(--proof-line); }
.proof-line-primary { color: var(--proof-ink); transition: stroke-width 160ms ease; }
.proof-outline { fill: var(--proof-paper); stroke: currentColor; stroke-width: 1.15; vector-effect: non-scaling-stroke; }
.proof-branch-node { fill: var(--proof-paper); stroke: var(--proof-line); stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.proof-branch-primary { fill: #263b20; stroke: var(--proof-ink); }
.proof-root { display: flex; align-items: center; justify-content: center; gap: 12px; width: max-content; max-width: 100%; min-height: 46px; margin: 0 auto; padding: 5px 15px; border: 1px solid #819e57; background: #1c301c; }
.proof-root-glyph { display: block; flex: 0 0 12px; width: 12px; height: 12px; border: 1px solid var(--proof-ink); transform: rotate(45deg); box-shadow: inset 0 0 0 3px #1c301c; background: var(--proof-ink); }
.proof-root-name { display: block; font-size: 14px; line-height: 1.45; }
.proof-distribution { display: block; width: 100%; height: 30px; overflow: visible; }
.proof-outputs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
.proof-output { display: flex; align-items: center; justify-content: center; gap: 10px; min-width: 0; min-height: 50px; }
.proof-bitcoin { flex-direction: column; gap: 0; }
.proof-blocks { display: block; width: 72px; height: 30px; }
.proof-block-muted { color: var(--proof-line); }
.proof-block-active { fill: #293e21; }
.proof-output-name { display: block; font-size: 14px; line-height: 1.45; }
.proof-receipt-icon { display: block; flex: 0 0 26px; width: 26px; height: 30px; }
@media (hover: hover) {
  .proof-figure:hover .proof-line-primary { stroke-width: 1.8; }
}
@media (max-width: 480px) {
  .proof-figure { padding-inline: 17px; }
  .proof-file { gap: 9px; }
  .proof-file-icon { flex-basis: 30px; width: 30px; height: 41px; }
  .proof-hash { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .proof-line-primary { transition: none; }
}
@media print {
  .proof-figure { break-inside: avoid; print-color-adjust: exact; }
}
