/* ProofLayer evidence-browser chrome. The embedded report keeps its own
   styles (scoped to .report-doc at build time); everything here is the shell. */

* { box-sizing: border-box; }
body {
  font-family: Georgia, serif;
  color: #1a1a1a;
  background: #fdfcf9;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1rem 3rem;
  line-height: 1.5;
}

.site-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 3px solid #1a1a1a;
  padding: 1.1rem 0 .5rem;
  margin-bottom: 1rem;
}
.site-head .brand { font-size: 1.35rem; font-weight: bold; letter-spacing: .02em; }
.site-head nav a { margin-left: 1.1rem; color: #8a6d00; text-decoration: none; font-size: .9rem; }
.site-head nav a:hover { text-decoration: underline; }

.tagline { font-size: .95rem; color: #333; max-width: 46rem; }

.ticker {
  border: 2px solid #1a1a1a;
  background: #fffdf5;
  padding: .9rem 1.1rem;
  margin: 1.2rem 0 0;
}
.ticker-head { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: #555; }
.ticker-live { color: #1a6b3a; font-weight: bold; }
.ticker-big { margin: .35rem 0 .5rem; }
.ticker-ratio { font-size: 1.7rem; font-weight: bold; font-variant-numeric: tabular-nums; }
.ticker-ratio-label { font-size: .85rem; color: #555; }
.ticker-line { font-size: .85rem; font-variant-numeric: tabular-nums; }
.ticker-note { font-size: .75rem; color: #666; margin-top: .5rem; max-width: 46rem; }
.ticker-note a { color: #8a6d00; }

.statbar { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.2rem 0; }
.stat {
  flex: 1 1 10rem;
  background: #f2efe8;
  border: 1px solid #ddd6c4;
  padding: .7rem .9rem;
}
.stat .v { font-size: 1.35rem; font-weight: bold; font-variant-numeric: tabular-nums; }
.stat .l { font-size: .75rem; color: #555; margin-top: .15rem; }

.verify-box {
  border: 2px solid #1a6b3a;
  background: #f4f9f5;
  padding: 1rem 1.1rem;
  margin: 1.4rem 0 2rem;
}
.verify-copy { font-size: .92rem; max-width: 46rem; }
.verify-run { display: flex; align-items: center; gap: 1rem; margin-top: .8rem; flex-wrap: wrap; }
#verify-btn {
  font: inherit;
  font-size: .95rem;
  background: #1a6b3a;
  color: #fff;
  border: none;
  padding: .55rem 1.1rem;
  cursor: pointer;
}
#verify-btn:hover { background: #14522c; }
#verify-btn:disabled { background: #999; cursor: wait; }
.progress { flex: 1 1 12rem; height: .6rem; background: #e4e0d4; }
#verify-progress { height: 100%; width: 0; background: #1a6b3a; transition: width .15s; }
#verify-status { font-size: .85rem; }
.root-line { font-size: .8rem; color: #555; margin-top: .8rem; word-break: break-all; }

.mono { font-family: monospace; }
.meta { color: #555; font-size: .85rem; }
.num { text-align: right; font-variant-numeric: tabular-nums; }
.ok { color: #1a6b3a; font-weight: bold; }
.bad { color: #a11a1a; font-weight: bold; }

/* clickable evidence hashes (both in the embedded report and the table) */
.evid { cursor: pointer; }
.evid:hover { color: #8a6d00; text-decoration: underline dotted; }
.evid-demo {
  font-family: monospace; font-size: .8rem; color: #777;
  border-bottom: 1px dotted #8a6d00; cursor: default;
}

.report-doc {
  border: 1px solid #ddd6c4;
  background: #fff;
  padding: 1.5rem 2rem;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}

.site-foot { margin-top: 2.5rem; font-size: .78rem; color: #666; border-top: 1px solid #ccc; padding-top: .8rem; }

/* evidence index page */
#evidence-filter {
  font: inherit;
  width: 100%;
  padding: .5rem .7rem;
  margin: .6rem 0 1rem;
  border: 1px solid #bbb;
}
.evtable { border-collapse: collapse; width: 100%; font-size: .8rem; }
.evtable th, .evtable td { border: 1px solid #ccc; padding: .3rem .45rem; text-align: left; vertical-align: top; }
.evtable th { background: #f2efe8; }
.evtable code.evid { font-size: .7rem; word-break: break-all; color: #555; }

/* slide-over panel */
.overlay {
  position: fixed; inset: 0;
  background: rgba(20, 18, 10, .45);
  z-index: 10;
}
.panel {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(560px, 94vw);
  background: #fdfcf9;
  border-left: 3px solid #1a1a1a;
  z-index: 11;
  padding: 1.2rem 1.4rem;
  overflow-y: auto;
}
.panel .close {
  position: absolute; top: .6rem; right: .8rem;
  font: inherit; font-size: 1.3rem;
  background: none; border: none; cursor: pointer; color: #555;
}
.panel-kicker { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: #8a6d00; }
.panel-hash { display: block; font-size: .72rem; word-break: break-all; margin: .3rem 0 .6rem; color: #333; }
.panel-verdict { font-size: .9rem; margin-bottom: .8rem; }
.panel-prov { font-size: .82rem; margin: 0 0 1rem; }
.panel-prov dt { font-weight: bold; color: #555; margin-top: .45rem; }
.panel-prov dd { margin: 0; word-break: break-word; }
.panel-preview { border-top: 1px solid #ddd; padding-top: .8rem; }
.artifact-pre {
  font-size: .68rem;
  background: #f6f4ee;
  border: 1px solid #e0dccd;
  padding: .6rem;
  overflow-x: auto;
  max-height: 24rem;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-all;
}
.pdf-frame { width: 100%; height: 30rem; border: 1px solid #ccc; }
.panel-download {
  display: inline-block; margin-top: .8rem;
  font-size: .85rem; color: #8a6d00;
}

@media (max-width: 640px) {
  .site-head { flex-direction: column; gap: .3rem; }
  .report-doc { padding: 1rem; }
}
