/* PigeonArchive issue viewer (pigeon-archive-viewer.js, pigeon-archive-reader template) */

.pa-viewer {
	--pa-bg: #1b1b1d;
	--pa-bar: #26262a;
	--pa-line: #3a3a40;
	--pa-text: #ececef;
	--pa-muted: #a3a3ab;
	--pa-button: #34343a;
	--pa-button-hover: #44444c;
	--pa-accent: #f0b429;
	--pa-hit: rgba(240, 180, 41, 0.38);
	--pa-hit-active: rgba(240, 120, 41, 0.6);
	--pa-paper: #faf8f3;
	--pa-ink: #1d1d1f;
}

html.pa-viewer-open,
html.pa-viewer-open body { overflow: hidden; }

.pa-viewer { display: none; flex-direction: column; background: var(--pa-bg); color: var(--pa-text); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 14px; position: fixed; inset: 0; z-index: 100000; }
.pa-viewer--open { display: flex; }

/* Top Bar */
.pa-viewer__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; background: var(--pa-bar); border-bottom: 1px solid var(--pa-line); padding: 8px 12px; }
.pa-viewer__title { flex: 1 1 auto; min-width: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-viewer__nav,
.pa-viewer__search,
.pa-viewer__tools,
.pa-viewer__modes { display: flex; align-items: center; gap: 6px; }
.pa-viewer__counter { min-width: 9em; color: var(--pa-muted); text-align: center; font-variant-numeric: tabular-nums; }

/* Buttons */
.pa-viewer__button { appearance: none; min-width: 34px; height: 34px; background: var(--pa-button); border: 0; border-radius: 6px; color: var(--pa-text); font: inherit; font-size: 15px; line-height: 1; padding: 0 10px; cursor: pointer; }
.pa-viewer__button:hover { background: var(--pa-button-hover); }
.pa-viewer__button:focus-visible { outline: 2px solid var(--pa-accent); outline-offset: 1px; }
.pa-viewer__button:disabled { opacity: 0.4; cursor: default; }
.pa-viewer__button[aria-pressed="true"] { background: var(--pa-text); color: var(--pa-bg); }
.pa-viewer__close { font-size: 22px; }
.pa-viewer__modes .pa-viewer__button { border-radius: 0; }
.pa-viewer__modes .pa-viewer__button:first-child { border-radius: 6px 0 0 6px; }
.pa-viewer__modes .pa-viewer__button:last-child { border-radius: 0 6px 6px 0; }

/* Search */
.pa-viewer__query { box-sizing: border-box; width: 220px; height: 34px; background: var(--pa-bg); border: 1px solid var(--pa-line); border-radius: 6px; color: var(--pa-text); font: inherit; padding: 0 10px; }
.pa-viewer__query:focus { border-color: var(--pa-accent); outline: none; }
.pa-viewer__hits { min-width: 4em; color: var(--pa-muted); font-size: 13px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pa-viewer__hit-prev,
.pa-viewer__hit-next { display: none; }
.pa-viewer--has-hits .pa-viewer__hit-prev,
.pa-viewer--has-hits .pa-viewer__hit-next { display: inline-block; }

/* Canvas and Text View */
.pa-viewer__body { display: flex; flex: 1 1 auto; min-height: 0; }
.pa-viewer__canvas { flex: 1 1 auto; min-width: 0; position: relative; }
.pa-viewer__text { box-sizing: border-box; flex: 0 0 min(440px, 40%); background: var(--pa-paper); border-left: 1px solid var(--pa-line); overflow-y: auto; color: var(--pa-ink); font-family: Georgia, "Times New Roman", serif; font-size: 17px; line-height: 1.55; padding: 20px 24px 40px; }
.pa-viewer__text[hidden] { display: none; }
.pa-viewer__text h2 { color: #6b6b70; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; margin: 24px 0 8px; }
.pa-viewer__text h3 { font-size: 21px; line-height: 1.25; margin: 22px 0 8px; }
.pa-viewer__text p { margin: 0 0 12px; }
.pa-viewer__text [data-block] { border-radius: 3px; cursor: pointer; }
.pa-viewer__text [data-block]:hover,
.pa-viewer__text [data-block]:focus { background: rgba(0, 0, 0, 0.05); outline: none; }
.pa-viewer__text mark { background: var(--pa-hit); color: inherit; }
.pa-viewer__text .pa-viewer__mark--active { background: var(--pa-hit-active); }
.pa-viewer__text-note { color: #6b6b70; font-style: italic; }
.pa-viewer__text figure { margin: 0 0 16px; }
.pa-viewer__table { overflow-x: auto; }
.pa-viewer__table table { border-collapse: collapse; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.35; font-variant-numeric: tabular-nums; }
.pa-viewer__table th,
.pa-viewer__table td { border-bottom: 1px solid #e3e0d8; text-align: left; white-space: nowrap; padding: 3px 8px 3px 0; vertical-align: top; }
.pa-viewer__table th { font-weight: 600; }
.pa-viewer__table td:empty { padding: 0; }

/* Highlights */
.pa-viewer__hit { background: var(--pa-hit); border-radius: 2px; pointer-events: none; mix-blend-mode: multiply; }
.pa-viewer__hit--active { background: var(--pa-hit-active); box-shadow: 0 0 0 2px var(--pa-hit-active); }

/* Page Strip */
.pa-viewer__strip { display: flex; flex: 0 0 auto; gap: 8px; background: var(--pa-bar); border-top: 1px solid var(--pa-line); overflow-x: auto; padding: 8px 12px; }
.pa-viewer--no-strip .pa-viewer__strip { display: none; }
.pa-viewer__thumb { display: flex; flex: 0 0 auto; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; color: var(--pa-muted); font: inherit; font-size: 12px; padding: 0; cursor: pointer; }
.pa-viewer__thumb img { height: 72px; background: #2b2b2b; border: 2px solid transparent; border-radius: 2px; }
.pa-viewer__thumb:hover img { border-color: var(--pa-button-hover); }
.pa-viewer__thumb--current { color: var(--pa-text); }
.pa-viewer__thumb--current img { border-color: var(--pa-accent); }
.pa-viewer__thumb:focus-visible { outline: 2px solid var(--pa-accent); outline-offset: 2px; }

/* Page Strip Hover Preview */
.pa-viewer__peek { display: block; background: var(--pa-paper); border-radius: 2px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6); position: fixed; z-index: 2; opacity: 0; transform-origin: 0 0; transition: transform 0.2s ease-out, opacity 0.2s ease-out, left 0.15s ease-out, top 0.15s ease-out, width 0.15s ease-out, height 0.15s ease-out; pointer-events: none; }
.pa-viewer__peek--open { opacity: 1; }
.pa-viewer__peek--instant { transition: none; }

/* Search Result Cards (landing page, under each result) */
.pa-result { box-sizing: border-box; max-width: 640px; background: #fff; border: 1px solid #e3e0d8; border-radius: 6px; color: #2a2a2e; font-size: 14px; line-height: 1.5; text-align: left; padding: 10px 14px; margin: 10px auto 0; cursor: pointer; }
.pa-result:hover { border-color: #c9c4b6; }
.pa-result__meta { color: #6b6b70; font-size: 12px; font-weight: 600; letter-spacing: 0.02em; margin-bottom: 4px; }
.pa-result__snippet { font-family: Georgia, "Times New Roman", serif; margin: 0; }
.pa-result__snippet mark { background: rgba(240, 180, 41, 0.38); color: inherit; padding: 0 1px; }

/* Ask the Archive */
.pa-ask { display: flex; flex-direction: column; box-sizing: border-box; width: min(420px, 100vw); background: #faf8f3; border-left: 1px solid #d9d4c7; box-shadow: -8px 0 24px rgba(0, 0, 0, 0.25); overflow-y: auto; color: #1d1d1f; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 14px; position: fixed; top: 0; right: 0; bottom: 0; z-index: 100001; }
.pa-ask[hidden] { display: none; }
.pa-ask__head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e3e0d8; font-size: 16px; padding: 14px 16px; }
.pa-ask__close { background: none; border: 0; color: #6b6b70; font-size: 24px; line-height: 1; padding: 0 4px; cursor: pointer; }
.pa-ask__form { display: flex; gap: 8px; padding: 14px 16px 6px; }
.pa-ask__question { box-sizing: border-box; flex: 1 1 auto; background: #fff; border: 1px solid #d9d4c7; border-radius: 6px; color: inherit; font: inherit; line-height: 1.4; resize: vertical; padding: 8px 10px; }
.pa-ask__question:focus { border-color: #f0b429; outline: none; }
.pa-ask__submit,
.pa-ask__subscribe { align-self: flex-start; background: #26262a; border: 0; border-radius: 6px; color: #fff; font: inherit; font-weight: 600; padding: 9px 14px; cursor: pointer; }
.pa-ask__submit:disabled { opacity: 0.5; cursor: default; }
.pa-ask__body { flex: 1 1 auto; padding: 6px 16px 10px; }
.pa-ask__status { color: #6b6b70; }
.pa-ask__plan { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 12px; }
.pa-ask__plan-label { color: #6b6b70; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; margin-right: 2px; }
.pa-ask__chip { display: inline-flex; align-items: center; background: #fff; border: 1px solid #d9d4c7; border-radius: 14px; font-size: 13px; line-height: 1.3; padding: 3px 4px 3px 10px; }
.pa-ask__chip--fixed { padding-right: 10px; } /* no remove button */
.pa-ask__chip-remove {background: none; border: 0; border-radius: 50%; color: #6b6b70; font-size: 16px; line-height: 1; padding: 0 5px; margin-left: 2px; cursor: pointer; }
.pa-ask__chip-remove:hover { background: #ece8de; color: #1d1d1f; }
.pa-ask__chip-remove:focus-visible { outline: 2px solid #f0b429; outline-offset: 1px; }
.pa-ask__answer { font-family: Georgia, "Times New Roman", serif; font-size: 16px; line-height: 1.55; }
.pa-ask__answer p { margin: 0 0 12px; }
.pa-ask__cite { min-width: 20px; background: #f0b429; border: 0; border-radius: 10px; color: #1d1d1f; font: 600 11px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; padding: 3px 6px; margin: 0 1px; vertical-align: 2px; cursor: pointer; }
.pa-ask__heading { color: #6b6b70; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; margin: 18px 0 8px; }
.pa-ask__sources { list-style: none; padding: 0; margin: 0; }
.pa-ask__source { display: block; width: 100%; background: #fff; border: 1px solid #e3e0d8; border-radius: 6px; color: inherit; font: inherit; text-align: left; padding: 8px 10px; margin-bottom: 6px; cursor: pointer; }
.pa-ask__source:hover { border-color: #c9c4b6; }
.pa-ask__source-label { display: block; font-weight: 600; }
.pa-ask__n { display: inline-block; min-width: 18px; background: #f0b429; border-radius: 9px; font-size: 11px; text-align: center; padding: 1px 4px; margin-right: 6px; }
.pa-ask__excerpt { display: block; color: #55555a; font-family: Georgia, "Times New Roman", serif; font-size: 13px; line-height: 1.45; margin-top: 4px; }
.pa-ask__note { border-top: 1px solid #e3e0d8; color: #6b6b70; font-size: 12px; padding: 10px 16px; margin: 0; }
@media (min-width: 900px) {
	html.pa-ask-open .pa-viewer { right: 420px; } /* the open issue stays beside the drawer */
}
.pa-ask-button { background: #f0b429; border: 0; border-radius: 6px; color: #1d1d1f; font: inherit; font-weight: 600; padding: 8px 12px; margin: 10px 0 0; cursor: pointer; }

/* Phones */
@media (max-width: 699px) {
	.pa-viewer__bar { gap: 6px 8px; padding: 6px 8px; }
	.pa-viewer__title { flex-basis: calc(100% - 50px); order: 0; }
	.pa-viewer__nav { order: 1; }
	.pa-viewer__tools { order: 2; margin-left: auto; }
	.pa-viewer__search { flex: 1 1 100%; order: 3; }
	.pa-viewer__query { flex: 1 1 auto; width: auto; }
	.pa-viewer__modes,
	.pa-viewer__zoom-in,
	.pa-viewer__zoom-out { display: none; }
	.pa-viewer__counter { min-width: 7em; }
	.pa-viewer__body { flex-direction: column; }
	.pa-viewer__text { flex: 0 0 45%; border-top: 1px solid var(--pa-line); border-left: 0; font-size: 16px; padding: 12px 16px 32px; }
	.pa-viewer__thumb img { height: 56px; }
}
