* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
:root {
  --bg: #1d1d1d; --text: #eaeaea; --dim: rgba(234,234,234,0.55);
  --divider:#2e2e2e; --border:#000000; --btn:#2b2b2b; --btnHover:#3a3a3a;
}
body { background: var(--bg); color: var(--text);
  font: 16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif; }

/* Top nav (20% smaller) */
.topbar { padding:19px 22px 0 22px; max-width:1280px; margin:0 auto; }
.nav { display:flex; gap:16px; align-items:baseline; font-weight:600; font-size:.9rem; }
.nav a { text-decoration:none; transition:opacity .15s ease,color .15s ease; }
.nav__brand.dim,.nav__item.dim{ color:var(--dim); }
.nav__item.bright{ color:var(--text); }
.nav a:hover{ opacity:.9; }
.divider{ border:0; border-top:4px solid var(--divider); margin:8px 0 0 0; }

/* Main */
.container{ max-width:1100px; margin:0 auto; padding:24px 22px 60px; }
.pdf-shell{ display:flex; justify-content:center; }
.pdf-container{
  width:min(100%,1060px);
  border:4px solid var(--border);
  border-radius:2px;
  background:#fff;
  overflow:visible;          /* let canvases grow; no internal scroll */
}

/* Rendered PDF pages (via canvas) */
.pdf-page{ display:block; width:100%; height:auto; }

/* Fallback <embed> styling if pdf.js can’t run */
.pdf-embed{
  display:block;
  width:100%;
  height:min(90vh,1600px);    /* avoid tiny box */
  border:0;
}

/* Download button */
.download-wrap{ display:flex; justify-content:center; margin-top:18px; }
.download-btn{
  display:inline-block; padding:10px 16px; background:var(--btn);
  color:var(--text); text-decoration:none; border-radius:8px;
  border:1px solid var(--divider); transition:background .15s ease,transform .05s ease;
}
.download-btn:hover{ background:var(--btnHover); }
.download-btn:active{ transform:translateY(1px); }
