/* demo.css: the few pieces the public demo adds on top of the real app.css (same pattern as /record/demo/). */
.demo-badge { display: inline-block; margin-left: 8px; padding: 1px 9px; border-radius: 99px; background: #f4c542; color: #1a1a1a; font-size: 12px; font-weight: 600; vertical-align: 2px; }
.demo-banner { background: #fff8dc; color: #5e4612; border: 1px solid #e8d7ac; padding: 10px 14px; border-radius: 8px; font-size: 14px; margin-bottom: 16px; }
.toast { z-index: 80; text-align: center; }

/* Page viewer: what a page cite opens (the live app opens the page image). */
.pv-win { background: #f3f3f1; width: min(760px, 100%); max-height: 90vh; border-radius: 10px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); }
.pv-bar { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; border-bottom: 1px solid var(--line); }
.pv-bar b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.pv-scroll { overflow-y: auto; padding: 18px; }
.pv-page { background: #fff; max-width: 620px; margin: 0 auto; padding: 40px 46px; box-shadow: 0 1px 4px rgba(20, 30, 50, .12); font-family: Georgia, 'Times New Roman', serif; font-size: 14.5px; line-height: 1.6; color: #222; white-space: pre-wrap; }
.pv-page mark { background: #fff1a8; padding: 0 2px; }
.pv-foot { text-align: center; font-size: 12.5px; color: var(--muted); padding: 8px 0 0; }

/* Buttons in the nav and chips keep a comfortable tap size on phones. */
nav button, .chips button, .chat-list button { min-height: 40px; }
.msg .cite, .facts a { cursor: pointer; }
@media (max-width: 640px) {
  header { padding: 10px 16px; }
  main { padding: 12px; }
  .pv-scroll { padding: 8px; }
  .pv-page { padding: 22px 18px; font-size: 14px; }
  #task-mode { flex: 1 1 100% !important; }
}
.tagline { color: #4a5568; font-size: 15px; margin: -6px 0 16px; max-width: 760px; }
