/* QBist Lab Working Papers — minimal academic styling.
   Self-contained on qbistlab.com, no Boho design tokens (different domain). */

:root {
  --paper-bg: #fafaf7;
  --paper-fg: #1a1a1a;
  --paper-muted: #555;
  --paper-rule: #d8d3c4;
  --paper-accent: #6b3410;       /* QBist Lab burnt sienna */
  --paper-link: #14406a;
  --paper-mono: 'JetBrains Mono', 'Menlo', 'Consolas', monospace;
  --paper-serif: 'Literata', 'Iowan Old Style', 'Georgia', serif;
  --paper-sans: 'Inter', -apple-system, 'Helvetica Neue', sans-serif;
}

* { box-sizing: border-box; }

body {
  font-family: var(--paper-serif);
  background: var(--paper-bg);
  color: var(--paper-fg);
  max-width: 760px;
  margin: 2em auto;
  padding: 1em 1.25em;
  line-height: 1.6;
}

h1, h2, h3 { font-family: var(--paper-sans); line-height: 1.25; }
h1 { font-size: 1.85em; margin: 0.2em 0 0.6em; }
h2 { font-size: 1.25em; margin: 1.6em 0 0.5em; }
h3 { font-size: 1.05em; margin: 1.2em 0 0.4em; }

a { color: var(--paper-link); text-decoration: none; }
a:hover { text-decoration: underline; }

.qbist-banner {
  background: var(--paper-accent);
  color: #fff;
  padding: 0.45em 0.85em;
  font-family: var(--paper-mono);
  font-size: 0.8em;
  letter-spacing: 0.02em;
  border-radius: 3px;
  display: inline-block;
  margin-bottom: 1em;
}

.byline { color: var(--paper-muted); font-style: italic; margin-top: -0.3em; }
.meta { color: var(--paper-muted); font-size: 0.85em; margin-bottom: 1em; }
.meta a { color: var(--paper-muted); text-decoration: underline; }

.paywall-card {
  border: 1px solid var(--paper-rule);
  background: #fff;
  border-radius: 6px;
  padding: 1.2em 1.4em;
  margin: 2em 0;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.paywall-card h3 { margin-top: 0; }
.paywall-card .price {
  font-family: var(--paper-mono);
  font-size: 1.35em;
  color: var(--paper-accent);
}
.paywall-card .buy-btn {
  display: inline-block;
  margin-top: 0.6em;
  padding: 0.55em 1.1em;
  background: var(--paper-accent);
  color: #fff;
  border-radius: 4px;
  font-family: var(--paper-sans);
  font-weight: 600;
  letter-spacing: 0.01em;
}
.paywall-card .buy-btn:hover { background: #4d2510; text-decoration: none; }

.preview-fade {
  position: relative;
  max-height: 600px;
  overflow: hidden;
}
.preview-fade::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 200px;
  background: linear-gradient(to bottom, rgba(250,250,247,0), var(--paper-bg));
  pointer-events: none;
}

.listing { list-style: none; padding: 0; }
.listing li {
  border-bottom: 1px solid var(--paper-rule);
  padding: 1em 0;
}
.listing .source-tag {
  display: inline-block;
  font-family: var(--paper-mono);
  font-size: 0.75em;
  background: #ece8d9;
  color: var(--paper-accent);
  padding: 1px 6px;
  border-radius: 3px;
  margin-left: 0.4em;
}

.filters {
  background: #f3efde;
  padding: 0.7em 1em;
  border-radius: 4px;
  font-size: 0.9em;
  margin: 1em 0 1.5em;
  color: var(--paper-muted);
}
.filters a { margin-right: 0.6em; }

footer {
  margin-top: 4em;
  padding-top: 1em;
  border-top: 1px solid var(--paper-rule);
  font-size: 0.8em;
  color: var(--paper-muted);
}

.dialogue { background: #fff; border-left: 3px solid var(--paper-accent); padding: 0.8em 1em; margin: 1em 0; }

@media (max-width: 600px) {
  body { font-size: 16px; padding: 0.5em 0.7em; }
  h1 { font-size: 1.5em; }
}
