/* The archive controls share Ownchats' styles; the surrounding page uses the site. */
.viewer-page { background: var(--paper); }
.viewer-intro { padding-top: 3.5rem; padding-bottom: 2rem; }
.eyebrow { margin-bottom: .85rem; color: var(--cobalt); font-size: .85rem; font-weight: 600; }
.viewer-intro h1 { max-width: 20ch; font-size: clamp(2.5rem, 5.5vw, 4rem); }
.viewer-intro .lede { margin: 1.1rem 0 .6rem; max-width: 48rem; }
.intro-text { max-width: 48rem; color: var(--lead); }
.viewer-page .archive { max-width: var(--wide); padding: 0; gap: .8rem; font-size: .95rem; }
.drop p { max-width: 65ch; }
.drop .btn { margin-top: .4rem; }
.drop.compact .btn { margin: 0; }
.viewer-page .fine { font-size: .8rem; }
.viewer-page #browser { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 1.25rem; margin-top: .7rem; }
.chat-sidebar { display: grid; align-content: start; gap: .7rem; min-width: 0; }
.toolbar { gap: .5rem; }
.toolbar input[type="search"] { flex-basis: 100%; width: 100%; min-width: 0; }
.toolbar select { flex: 1; min-width: 0; font-size: .85rem; }
.list { max-height: 660px; overflow: auto; }
.viewer-page .row { grid-template-columns: minmax(0, 1fr); padding: .8rem 1rem; gap: .25rem; }
.row[aria-current="true"] { background: var(--green-wash); box-shadow: inset 3px 0 0 var(--green); }
.viewer-page .row .t { white-space: normal; overflow-wrap: anywhere; font-size: .95rem; }
.row .row-meta { color: var(--lead); font-size: .75rem; }
.row .snip { margin-top: .2rem; }
.list-empty { padding: 1.25rem; color: var(--lead); }
.chat-reader { min-width: 0; border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; background: var(--paper); }
#reader-empty { padding: 2rem; color: var(--lead); }
.reader-head { padding: 1rem 1.1rem; border-bottom: 1px solid var(--rule); display: grid; gap: .6rem; }
.reader-head h2 { font-size: 1.4rem; line-height: 1.25; overflow-wrap: anywhere; }
.reader-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.reader-actions .btn { padding: .6rem .8rem; font-size: .85rem; }
.viewer-page .doc-frame { height: 660px; min-height: 400px; border-radius: 0; }
#warnings { font-size: .8rem; color: var(--lead); }
#warnings summary { cursor: pointer; }
#warning-list { max-height: 10rem; overflow: auto; padding-left: 1.25rem; margin: .5rem 0 0; }
#download-status:empty { display: none; }
.ownchats-panel { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem; margin-top: .5rem; padding: 1rem 1.1rem; border: 1px solid var(--rule); border-radius: 8px; background: var(--wash); font-size: .9rem; color: var(--lead); }
.ownchats-panel a { white-space: nowrap; }
.export-guides { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.export-guides h2 { font-size: 1.8rem; line-height: 1.15; }
.export-guides ol { padding-left: 1.25rem; margin: 1.25rem 0; }
.export-guides li + li { margin-top: .6rem; }
.viewer-page #faq h2 { font-size: 2rem; }
@media (max-width: 820px) {
  .viewer-page #browser { grid-template-columns: 1fr; }
  .list { max-height: 310px; }
  .export-guides { grid-template-columns: 1fr; gap: 2rem; }
}
@media (max-width: 480px) {
  .viewer-intro { padding-top: 2.5rem; }
  .drop.compact { grid-template-columns: 1fr; text-align: center; place-items: center; }
  .drop.compact .btn { grid-column: 1; grid-row: auto; justify-self: center; }
  .viewer-page .doc-frame { height: 580px; }
}
