.viewer-header {
  position: fixed;
  right: 0;
  left: 0;
  grid-template-columns: 1fr auto 1fr;
  width: 100%;
}

body { padding-top: 84px; }

.viewer-mode {
  position: fixed;
  z-index: 25;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  width: 200px;
  height: 44px;
  background: rgba(12, 41, 34, .94);
  box-shadow: 0 10px 40px rgba(0, 0, 0, .2);
  backdrop-filter: blur(14px);
}

.viewer-mode a,
.viewer-mode span {
  display: grid;
  flex: 1;
  padding: 0;
  place-items: center;
  white-space: nowrap;
}

.viewer-social {
  display: grid;
  grid-column: 3;
  width: 42px;
  height: 42px;
  place-items: center;
  justify-self: end;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  transition: background .2s, border-color .2s, transform .2s;
}

.viewer-social:hover { border-color: rgba(255, 255, 255, .7); background: rgba(255, 255, 255, .12); transform: translateY(-1px); }
.viewer-social span { font: 800 15px/1 Arial, sans-serif; letter-spacing: -.09em; }
.viewer-social:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.print-viewer { padding-top: 24px; }
.print-intro { margin-bottom: 24px; }
@media (max-width: 700px) {
  body { padding-top: 70px; }
  .viewer-mode { top: auto; bottom: 14px; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
  .print-viewer { padding-top: 18px; }
  .print-intro { margin-bottom: 18px; }
}
