/* Restore from _ui-refs (2026-09-20). Do not replace the live Flyleaf chrome. */
#sourcePage:empty::before,
#sourcePage.is-empty::before {
  content: attr(data-ph);
  color: var(--muted, #8a7d62);
  opacity: .78;
  pointer-events: none;
  position: absolute;
  left: 14px;
  top: 10px;
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 16px;
}
#sourcePage:empty,
#sourcePage.is-empty {
  position: relative;
  min-height: 8.5em;
}

.app-dock {
  position: sticky;
  bottom: 0;
  z-index: 12;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6px;
  padding: 8px 8px calc(10px + env(safe-area-inset-bottom));
  margin: 16px -6px 0;
  background: color-mix(in srgb, var(--paper, #0e1812) 88%, transparent);
  backdrop-filter: blur(12px);
  border-top: 1px solid rgba(212, 180, 106, .16);
}
.app-dock button {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(243, 239, 230, .14);
  background: rgba(10, 16, 12, .35);
  color: var(--ink, #d4cbb0);
  font-size: 12px;
}
.app-dock button:active { transform: scale(.98); }
.wrap { padding-bottom: 8px; }
