* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Arial, Helvetica, sans-serif; }
body { background: #f7faf8; color: #17211c; }
.topbar {
  height: 76px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 5vw; background: #fff; border-bottom: 1px solid #e4ebe6;
}
.brand { line-height: 1; }
.wordmark { font-size: 26px; font-weight: 800; letter-spacing: .08em; }
.submark { margin-top: 5px; font-size: 10px; letter-spacing: .34em; font-weight: 700; }
.status { font-size: 10px; letter-spacing: .16em; color: #66736b; }
.shell { width: min(1200px, 92vw); margin: 0 auto; padding: 48px 0 60px; }
.intro { margin-bottom: 26px; }
.eyebrow { margin: 0 0 8px; font-size: 11px; letter-spacing: .18em; font-weight: 700; color: #637068; }
h1 { margin: 0; font-size: clamp(32px, 5vw, 52px); letter-spacing: -.03em; }
.muted { color: #68756d; }
.viewer-card { background: #fff; border: 1px solid #dfe7e1; border-radius: 14px; overflow: hidden; box-shadow: 0 10px 35px rgba(20, 40, 28, .06); }
.viewer-toolbar { height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; border-bottom: 1px solid #e5ebe7; }
button { border: 1px solid #ccd7d0; background: #fff; border-radius: 8px; padding: 9px 13px; cursor: pointer; }
button:disabled { opacity: .45; cursor: default; }
#pageInfo { font-size: 13px; color: #5f6b64; }
.pdf-stage { min-height: 680px; display: grid; place-items: center; background: #eef2ef; padding: 28px; }
#placeholder { text-align: center; color: #69766e; }
.placeholder-icon { display: inline-grid; place-items: center; width: 58px; height: 58px; border-radius: 12px; background: #fff; border: 1px solid #dbe4de; font-weight: 800; font-size: 13px; margin-bottom: 12px; }
#placeholder h2 { margin: 0 0 8px; color: #27342d; }
#placeholder p { margin: 0; }
canvas { max-width: 100%; height: auto; background: #fff; box-shadow: 0 6px 22px rgba(0,0,0,.12); }
footer { padding: 24px; text-align: center; color: #7b867f; font-size: 12px; }
@media (max-width: 700px) {
  .topbar { padding: 0 4vw; }
  .status { display: none; }
  .shell { width: 94vw; padding-top: 30px; }
  .pdf-stage { min-height: 70vh; padding: 14px; }
  .viewer-toolbar { height: auto; min-height: 56px; }
  button { padding: 8px 9px; }
}
