/* Shared look for the standalone pages: public exhibits, privacy and terms. Mirrors index.html's tokens. */
:root{
  --desk:#131715;--desk-2:#1b211e;--desk-3:#252c28;--rule:#323a35;--ink:#eceee6;--muted:#a4aca5;
  --paper:#e9ecdf;--paper-ink:#1d2320;--paper-muted:#5d655f;--stamp:#3a46c4;--verdict:#8a3b2c;--signal:#cfee7c;--danger:#e07a68;
  --f-display:"Newsreader","Iowan Old Style",Georgia,serif;--f-body:"Public Sans","Helvetica Neue",Arial,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{background:var(--desk)}
body{color:var(--ink);font:16px/1.6 var(--f-body);margin:0;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:860px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.label{font:500 12px/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.paper .label{color:var(--paper-muted)}
header.top{border-bottom:1px solid var(--rule)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px}
.brand{display:flex;flex-direction:column;gap:2px;text-decoration:none}
.brand b{font:600 20px/1.1 var(--f-display)}
.brand span{font:500 10.5px/1.2 var(--f-mono);letter-spacing:.16em;color:var(--muted)}
main{padding-block:clamp(24px,5vw,48px) 64px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:6px;border:1px solid var(--rule);background:var(--desk-2);color:var(--ink);font-weight:600;font-size:15px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--desk-3)}
.btn.primary{background:var(--paper);color:var(--paper-ink);border-color:var(--paper)}
.btn.small{min-height:36px;padding:6px 12px;font-size:14px}
.btn.ghost{background:transparent}
.btn:disabled{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.hint{color:var(--muted);font-size:14px}
.paper{background:var(--paper);color:var(--paper-ink);border-radius:3px;position:relative;box-shadow:0 18px 40px -18px #000c,0 2px 6px #0006}
.holes{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:64px}
.holes i{display:block;width:11px;height:11px;border-radius:50%;background:var(--desk)}
.doc{padding:clamp(22px,4vw,36px) clamp(18px,4vw,36px) clamp(22px,4vw,32px) clamp(34px,5vw,52px)}
.doc-head{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #1d232033;padding-bottom:12px;margin-bottom:18px;flex-wrap:wrap}
.tag{font:600 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor;border-radius:3px;padding:4px 6px;color:#8a4a2a}
.doc h1{font:500 clamp(28px,5vw,40px)/1.12 var(--f-display);margin:6px 0 14px}
.doc .story{font:400 clamp(18px,2.4vw,20px)/1.6 var(--f-display);white-space:pre-wrap;overflow-wrap:anywhere}
.exhibit-img{display:block;max-width:100%;margin:20px 0 4px;border:1px solid #1d232033;border-radius:3px}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 22px;margin-top:22px;padding-top:16px;border-top:1px solid #1d232033}
.fields .v{font:500 15px/1.4 var(--f-mono);margin-top:4px;overflow-wrap:anywhere}
.fields .v a{color:var(--paper-ink)}
.stamp{display:inline-block;margin-top:22px;border:3px double var(--stamp);color:var(--stamp);padding:8px 14px;font:600 16px/1.2 var(--f-mono);letter-spacing:.14em;transform:rotate(-3deg);opacity:.85}
.stamp small{display:block;font-size:11px;letter-spacing:.12em;margin-top:2px}
.verdict{margin-top:22px;padding:22px clamp(18px,4vw,30px);border:1px solid #1d232033;border-left:4px solid var(--verdict);background:#e1e4d6}
.verdict .finding{font:600 13px/1.3 var(--f-mono);letter-spacing:.1em;color:var(--stamp);margin:8px 0 10px}
.verdict .rec{font:italic 500 20px/1.4 var(--f-display);margin-top:10px}
.verdict .fine{font:400 12px/1.5 var(--f-mono);color:var(--paper-muted);margin-top:12px}
.actions{margin:26px 0 8px}
section.block{margin-top:40px;border-top:1px solid var(--rule);padding-top:24px}
section.block h2{font:500 26px/1.2 var(--f-display);margin-bottom:10px}
dl.proof{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:14px 0;font-size:14px}
dl.proof dt{color:var(--muted)}
dl.proof dd{margin:0;font-family:var(--f-mono);overflow-wrap:anywhere}
details.report summary{cursor:pointer;color:var(--muted);font-size:14px}
details.report form{display:grid;gap:12px;margin-top:14px;max-width:520px}
details.report label{display:flex;gap:8px;align-items:flex-start;font-size:15px}
details.report textarea:focus{border-color:var(--signal);outline:none;box-shadow:0 0 0 3px #cfee7c44}
details.report textarea{background:var(--desk-2);border:1px solid var(--rule);border-radius:6px;padding:10px;min-height:90px}
.notice{border-left:3px solid var(--rule);padding:4px 0 4px 14px;color:var(--muted);font-size:14px}
footer.foot{border-top:1px solid var(--rule);padding-block:22px;color:var(--muted);font-size:14px}
footer.foot .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
footer.foot nav{display:flex;gap:16px}
.legal h1{font:500 clamp(34px,5vw,48px)/1.1 var(--f-display);margin:8px 0 10px}
.legal h2{font:500 24px/1.25 var(--f-display);margin:34px 0 10px}
.legal p,.legal li{color:#d5d9d0;max-width:68ch}
.legal p+p{margin-top:12px}
.legal ul{padding-left:20px}
.legal li+li{margin-top:6px}
.toast{position:fixed;left:16px;right:16px;bottom:20px;margin:auto;max-width:420px;background:var(--paper);color:var(--paper-ink);padding:10px 16px;border-radius:6px;font-weight:600;text-align:center;box-shadow:0 10px 30px #000a}
.legal .note{font-size:14px;color:var(--muted);border-left:3px solid var(--rule);padding-left:14px;margin-top:16px}
.faq h2{margin-top:44px}
.faq strong{color:var(--ink)}
/* the wall: /wall and "More from the wall" under each exhibit. Cards mirror index.html. */
.wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.wall-card{display:flex;flex-direction:column;gap:8px;background:var(--paper);color:var(--paper-ink);border-radius:3px;padding:18px 18px 16px;text-decoration:none;box-shadow:0 10px 24px -14px #000c;transition:transform .15s}
.wall-card:hover{transform:translateY(-2px)}
.wall-card.wall-empty{background:transparent;color:var(--ink);border:1.5px dashed #4a554e;box-shadow:none}
.wall-card.wall-empty i,.wall-card.wall-empty p,.wall-card.wall-empty .label{color:var(--muted)}
.wall-card .label{color:var(--paper-muted);font-size:11px}
.wall-card b{font:500 21px/1.2 var(--f-display)}
.wall-card i{font:italic 400 19px/1.3 var(--f-display);color:var(--paper-muted)}
.wall-card p{font:400 15px/1.5 var(--f-display);color:#353c38;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.wall-card.example{background:#d9ddcf}
.wall-card small{margin-top:auto;font:500 12px/1.3 var(--f-mono);color:var(--paper-muted);padding-top:8px;border-top:1px solid #1d232022}
.wall-title{font:500 clamp(34px,5vw,48px)/1.1 var(--f-display);margin:10px 0 24px}
.more>.label{margin-bottom:14px}
.more>p{margin-top:16px}
.pager{margin-top:28px;justify-content:center}
.share-on{margin:4px 0 12px}
.share-on .label{margin-right:4px}
