/* The analytical library.
   Built on interior.css — only what the literature index itself needs. */

.tpz-lib-page { max-width: 1120px; }
.tpz-lib-intro { margin-bottom: 34px; }

/* ---------- the standing notice ---------- */
.tpz-lib-notice {
  border: 1px solid rgba(216, 178, 144, .34);
  border-left-width: 3px;
  background: rgba(216, 178, 144, .05);
  padding: 20px 24px;
  margin: 0 0 40px;
  border-radius: 2px;
}
.tpz-lib-notice p { margin: 0 0 10px; font-size: 14.5px; line-height: 1.62; color: var(--tpz-dim, #AFA79C); }
.tpz-lib-notice p:last-child { margin-bottom: 0; }
.tpz-lib-notice b { color: var(--tpz-bone, #E1D9CE); font-weight: 500; }

/* ---------- compound jump list ---------- */
.tpz-lib-toc {
  display: flex; flex-wrap: wrap; gap: 8px;
  padding: 0 0 30px; margin: 0 0 38px;
  border-bottom: 1px solid rgba(225, 217, 206, .1);
}
.tpz-lib-toc a {
  font-size: 12.5px; letter-spacing: .04em;
  padding: 6px 13px; border: 1px solid rgba(225, 217, 206, .17);
  border-radius: 100px; color: var(--tpz-dim, #AFA79C);
  text-decoration: none; transition: border-color .18s, color .18s;
}
.tpz-lib-toc a:hover { border-color: rgba(216, 178, 144, .55); color: var(--tpz-bone, #E1D9CE); }

/* ---------- a compound ---------- */
.tpz-lib-c { margin: 0 0 56px; scroll-margin-top: 92px; }
.tpz-lib-c-head {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px;
  padding-bottom: 14px; margin-bottom: 20px;
  border-bottom: 1px solid rgba(225, 217, 206, .13);
}
.tpz-lib-c-head h3 {
  margin: 0; font-size: 25px; font-weight: 400; letter-spacing: .01em;
  color: var(--tpz-bone, #E1D9CE);
}
.tpz-lib-cat {
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--tpz-gold, #D8B290);
}
.tpz-lib-n { margin-left: auto; font-size: 12.5px; color: var(--tpz-dim, #AFA79C); }

.tpz-lib-note {
  font-size: 13.5px; line-height: 1.6; font-style: italic;
  color: var(--tpz-dim, #AFA79C); margin: 0 0 22px;
}

/* ---------- a study ---------- */
.tpz-lib-studies { list-style: none; margin: 0; padding: 0; display: grid; gap: 26px; }
.tpz-lib-study {
  border: 1px solid rgba(225, 217, 206, .11);
  border-radius: 2px; padding: 22px 24px;
  background: rgba(225, 217, 206, .018);
}
.tpz-lib-study h4 {
  margin: 0 0 8px; font-size: 16.5px; font-weight: 500; line-height: 1.4;
  color: var(--tpz-bone, #E1D9CE);
}
.tpz-lib-cite { margin: 0 0 12px; font-size: 13.5px; color: var(--tpz-dim, #AFA79C); }
.tpz-lib-cite i { font-style: italic; }

.tpz-lib-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.tpz-lib-meta span {
  font-size: 11.5px; letter-spacing: .05em;
  padding: 3px 9px; border-radius: 2px;
  background: rgba(225, 217, 206, .07); color: var(--tpz-dim, #AFA79C);
}
.tpz-lib-meta .tpz-lib-kind {
  background: rgba(216, 178, 144, .13); color: var(--tpz-gold, #D8B290);
  text-transform: uppercase;
}

.tpz-lib-design {
  margin: 0 0 12px; padding: 10px 13px;
  border-left: 2px solid rgba(216, 178, 144, .3);
  background: rgba(225, 217, 206, .025);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12.5px; line-height: 1.6; color: var(--tpz-dim, #AFA79C);
}
.tpz-lib-design span {
  display: block; font-family: inherit;
  font-size: 10px; letter-spacing: .15em; text-transform: uppercase;
  color: var(--tpz-gold, #D8B290); margin-bottom: 5px;
}

.tpz-lib-sum { margin: 0 0 12px; font-size: 14.5px; line-height: 1.68; }
.tpz-lib-err {
  margin: 0 0 12px; padding: 7px 11px;
  border-left: 2px solid rgba(214, 142, 110, .6);
  background: rgba(214, 142, 110, .07);
  font-size: 12.5px; line-height: 1.55; color: #D6A78E;
}
.tpz-lib-link { margin: 0; }
.tpz-lib-link a {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px; letter-spacing: .04em;
  color: var(--tpz-gold, #D8B290); text-decoration: none;
  border-bottom: 1px solid rgba(216, 178, 144, .35); padding-bottom: 1px;
}
.tpz-lib-link a:hover { border-bottom-color: var(--tpz-gold, #D8B290); }

/* ---------- the gate ---------- */
.tpz-lib-gate {
  text-align: center; max-width: 640px; margin: 20px auto 40px;
  padding: 54px 30px;
  border: 1px solid rgba(225, 217, 206, .13); border-radius: 3px;
  background: rgba(225, 217, 206, .02);
}
.tpz-lib-gate h2 {
  margin: 10px 0 16px; font-weight: 400; font-size: 30px;
  color: var(--tpz-bone, #E1D9CE);
}
.tpz-lib-gate-p {
  font-size: 15px; line-height: 1.7; color: var(--tpz-dim, #AFA79C);
  margin: 0 0 28px;
}
.tpz-lib-gate-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.tpz-lib-gate-sm {
  flex-basis: 100%; margin: 14px 0 0;
  font-size: 12.5px; color: var(--tpz-dim, #AFA79C);
}
.tpz-lib-empty { padding: 48px 0; text-align: center; color: var(--tpz-dim, #AFA79C); }

@media (max-width: 720px) {
  .tpz-lib-c-head h3 { font-size: 21px; }
  .tpz-lib-n { margin-left: 0; flex-basis: 100%; }
  .tpz-lib-study { padding: 18px 16px; }
  .tpz-lib-gate { padding: 38px 20px; }
}
