/* ===================================================================
   documents.css — Briefcase hub (/briefcase.html) and the recovered
   document pages under /documents/.

   Page-specific by design. Nothing here belongs in styles.css: these
   rules are used by six pages, and putting them in the shared sheet
   would force a ?v= bump across the whole site for a local change.
   =================================================================== */

/* -------------------------------------------------------------------
   BRIEFCASE — document list
   ------------------------------------------------------------------- */
.bc-list{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin:28px 0 8px;
}
a.bc-item{
  display:block;
  padding:20px 22px;
  background:rgba(8,13,24,0.7);
  color:var(--ink);
  text-decoration:none;
  transition:background 0.2s ease, transform 0.2s ease;
}
a.bc-item:hover,
a.bc-item:focus-visible{
  background:rgba(69,211,232,0.09);
  transform:translateY(-2px);
  text-decoration:none;
}
.bc-code{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.72rem;
  letter-spacing:0.08em;
  color:var(--cyan);
}
.bc-kind{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.66rem;
  letter-spacing:0.06em;
  color:var(--ink-soft);
  margin-left:10px;
}
.bc-title{
  display:block;
  margin:7px 0 0;
  font-family:'Big Shoulders', sans-serif;
  font-weight:700;
  font-size:1.32rem;
  line-height:1.12;
  color:var(--ink);
}
.bc-blurb{
  display:block;
  margin:9px 0 0;
  font-size:0.95rem;
  line-height:1.6;
  color:var(--ink-soft);
}

/* -------------------------------------------------------------------
   DOCUMENT PAGES — scan figure
   ------------------------------------------------------------------- */
figure.doc-figure{
  margin:30px 0 34px;
  padding:0;
}
figure.doc-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:760px;
  margin:0 auto;
  border:1px solid var(--line);
  background:#0A1120;
}
figure.doc-figure figcaption{
  margin:12px auto 0;
  max-width:760px;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.7rem;
  line-height:1.55;
  letter-spacing:0.03em;
  color:var(--ink-soft);
  text-align:center;
}

/* -------------------------------------------------------------------
   DOCUMENT PAGES — metadata table
   ------------------------------------------------------------------- */
dl.doc-meta{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin:0 0 34px;
  padding:0;
}
dl.doc-meta > div{
  background:rgba(8,13,24,0.7);
  padding:12px 14px;
}
dl.doc-meta dt{
  font-family:'IBM Plex Mono', monospace;
  font-size:0.62rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--violet);
  margin:0 0 5px;
}
dl.doc-meta dd{
  margin:0;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.82rem;
  line-height:1.5;
  color:var(--ink);
}

/* -------------------------------------------------------------------
   DOCUMENT PAGES — transfer-to-filing-room block
   ------------------------------------------------------------------- */
.doc-transfer{
  margin:38px 0 10px;
  padding:20px 22px;
  border:1px solid var(--line);
  border-left:2px solid var(--gold-dim);
  background:rgba(8,13,24,0.7);
}
.doc-transfer-label{
  margin:0 0 8px;
  font-family:'IBM Plex Mono', monospace;
  font-size:0.62rem;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--gold);
}
p.doc-transfer-state{
  margin:0 0 14px;
  font-size:0.94rem;
  line-height:1.55;
  color:var(--ink-soft);
}
p.doc-transfer-state[data-state="recovered"]{color:var(--teal);}

/* The hidden attribute loses to any author display: rule, so these
   two selectors are required, not belt-and-braces. */
p.doc-transfer-state[hidden]{display:none;}
a.doc-transfer-btn[hidden]{display:none;}

a.doc-transfer-btn{
  display:inline-block;
  padding:9px 18px;
  border:1px solid var(--line-strong);
  font-family:'IBM Plex Mono', monospace;
  font-size:0.74rem;
  letter-spacing:0.07em;
  text-transform:uppercase;
  color:var(--cyan);
  text-decoration:none;
  transition:background 0.2s ease, color 0.2s ease;
}
a.doc-transfer-btn:hover,
a.doc-transfer-btn:focus-visible{
  background:rgba(69,211,232,0.12);
  color:var(--cyan-glow);
  text-decoration:none;
}
a.doc-transfer-btn[data-state="recovered"]{
  color:var(--teal);
  border-color:rgba(70,224,166,0.45);
}
a.doc-transfer-btn[data-state="recovered"]:hover{
  background:rgba(70,224,166,0.1);
}

/* Filing-room reader: link out to the public page of a released doc */
.doc-full-link{margin:16px 0 0;}
.doc-full-link a{color:var(--cyan);}

@media (max-width:760px){
  .bc-title{font-size:1.18rem;}
  figure.doc-figure{margin:22px 0 26px;}
  .doc-transfer{padding:16px 16px;}
}
