/* NPDS video stage: Able Player with the synced transcript beside it, and the transcript search (npds-transcript.js). Ported from LeBatardAF lbaf-content. */
.npds-stage {
	--npds-ink: #121212;
	--npds-paper: #ffffff;
	--npds-soft: #f1f1f1;
	--npds-muted: #555555;
	--npds-magenta: #fe3eff;
	--npds-lime: #28fa26;
	--npds-lime-soft: #cdf3a5;
	width: 100%;
	isolation: isolate; /* Able Player's z-index 5000 stays inside the stage, under the site header */
}
.npds-stage--transcript { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.npds-stage .able-wrapper { margin: 0 !important; width: 100% !important; max-width: 100% !important; box-shadow: none; border: 0; } /* Able Player sizes these inline */
.npds-stage .able-player { background: #000; }
.npds-stage .able-controller { background: var(--npds-magenta); border-top: 0; }
.npds-stage .able-controller .able-button-handler, .npds-stage .able-controller button, .npds-stage .able-controller svg { color: var(--npds-ink); fill: currentColor; }
.npds-stage .able-controller button:hover, .npds-stage .able-controller button:focus-visible { color: var(--npds-paper); }
.npds-stage .able-controller button:focus-visible { outline: 2px solid var(--npds-ink); outline-offset: 1px; }
.npds-stage .able-seekbar { background: rgba(18, 18, 18, 0.3); }
.npds-stage .able-seekbar-played { background: var(--npds-ink); }
.npds-stage .able-seekbar-loaded { background: rgba(18, 18, 18, 0.45); }
.npds-stage .able-seekbar-head { background: var(--npds-lime); border-color: var(--npds-ink); }
.npds-stage .able-status-bar { background: var(--npds-ink); color: var(--npds-paper); }
.npds-stage .able-status-bar * { color: inherit; }
.npds-stage__transcript { position: relative; min-height: 0; }
.npds-stage__transcript .npds-tr { position: absolute; inset: 0; display: flex; flex-direction: column; background: var(--npds-paper); color: var(--npds-ink); border-bottom: 5px solid var(--npds-lime); overflow: hidden; }
.npds-tr .able-transcript-area, .npds-tr .able-window-toolbar, .npds-tr .able-transcript { position: static !important; width: auto !important; height: auto !important; box-shadow: none; border: 0; margin: 0; }
.npds-tr .able-transcript-area { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; background: transparent; }
.npds-tr .able-window-toolbar { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; background: var(--npds-magenta); color: var(--npds-ink); font-size: 14px; }
.npds-tr .able-window-toolbar label { color: var(--npds-ink); font-weight: 700; margin: 0; }
.npds-tr .autoscroll-transcript { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; float: none; margin: 0; }
.npds-tr .autoscroll-transcript input { width: 18px; height: 18px; margin: 0; accent-color: var(--npds-ink); }
.npds-tr .transcript-language-select-wrapper { float: none; margin: 0; }
.npds-tr .able-window-toolbar select { font-size: 14px; }
.npds-tr .able-window-toolbar .able-button-handler-preferences { display: none; }
.npds-tr .able-transcript { flex: 1 1 0; min-height: 0; overflow-y: auto; padding: 16px 20px 24px; font-size: 17px; line-height: 1.75; background: var(--npds-paper); color: var(--npds-ink); overscroll-behavior: contain; }
.npds-tr .able-transcript-seekpoint { cursor: pointer; padding: 0.05em 0.1em; margin: 0 -0.1em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.npds-tr .able-transcript-seekpoint:hover { background: var(--npds-lime-soft); }
.npds-tr .able-transcript-seekpoint:focus-visible { outline: 2px solid var(--npds-magenta); outline-offset: 1px; }
.npds-tr .able-highlight, .npds-tr .able-transcript-seekpoint.able-highlight { background: var(--npds-lime); color: var(--npds-ink); }
.npds-tr .able-transcript-block { margin: 0.85em 0; }
.npds-tr .able-transcript-block:first-child { margin-top: 0; }
.npds-tr .npds-tr-turn::before, .npds-tr .npds-tr-para::before { content: ""; display: block; height: 0.85em; }
.npds-tr .npds-tr-break { display: block; height: 0.85em; } /* a paragraph break inside a caption */
.npds-tr .able-transcript-block > .npds-tr-turn:first-child::before, .npds-tr .npds-tr-empty + .npds-tr-turn::before { display: none; } /* the block's own margin already separates it */
.npds-tr .able-transcript .able-unspoken { display: block; color: var(--npds-muted); font-style: italic; }
.npds-tr .able-transcript .able-unspoken.npds-tr-same { display: none; }
.npds-tr .npds-tr-empty { display: none; }
@media (max-width: 900px) {
	.npds-stage--transcript { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.npds-stage__transcript { height: 46vh; min-height: 280px; }
}

/* Transcript search: form in Able Player's toolbar beside "Auto scroll", results between the toolbar and the transcript. */
.npds-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.npds-tr-search { order: 4; flex: 0 1 260px; min-width: 0; display: flex; gap: 6px; margin: 0 0 0 auto; } /* Able Player puts "Auto scroll" at order 3 */
.npds-tr-search input[type="search"] { flex: 1 1 auto; min-width: 0; width: 100%; height: 32px; margin: 0; padding: 0 10px; font: inherit; font-size: 16px; color: var(--npds-ink); background: var(--npds-paper); border: 2px solid var(--npds-ink); border-radius: 0; box-shadow: none; }
.npds-tr-search input[type="search"]:focus-visible { outline: 2px solid var(--npds-ink); outline-offset: 1px; }
.npds-tr-search button[type="submit"] { flex: 0 0 auto; height: 32px; margin: 0; padding: 0 12px; font: inherit; font-size: 14px; font-weight: 700; line-height: 1; color: var(--npds-paper); background: var(--npds-ink); border: 2px solid var(--npds-ink); border-radius: 0; cursor: pointer; }
.npds-tr-search button[type="submit"]:hover { background: var(--npds-lime); color: var(--npds-ink); }
.npds-tr-search button[type="submit"]:focus-visible { outline: 2px solid var(--npds-ink); outline-offset: 2px; }
.npds-tr-results { flex: 0 0 auto; max-height: 55%; display: none; flex-direction: column; padding: 8px 16px 10px; background: var(--npds-paper); border-bottom: 1px solid rgba(18, 18, 18, 0.14); }
.npds-tr-results.is-open { display: flex; }
.npds-tr-search__sum { flex: 0 0 auto; margin: 0; font-size: 14px; line-height: 1.4; color: var(--npds-muted); }
.npds-tr-search__list:empty { display: none; }
.npds-tr-search__list { flex: 0 1 auto; min-height: 0; list-style: none; margin: 8px 0 0; padding: 0; overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid rgba(18, 18, 18, 0.1); }
.npds-tr-search__list li { margin: 0; padding: 0; border-bottom: 1px solid rgba(18, 18, 18, 0.1); }
.npds-tr-search__list button { display: flex; gap: 12px; align-items: baseline; width: 100%; margin: 0; padding: 8px 4px; font: inherit; font-size: 14px; line-height: 1.45; text-align: left; color: var(--npds-ink); background: transparent; border: 0; border-radius: 0; cursor: pointer; }
.npds-tr-search__list button:hover { background: var(--npds-soft); }
.npds-tr-search__list button:focus-visible { outline: 2px solid var(--npds-magenta); outline-offset: -2px; }
.npds-tr-search__time { flex: 0 0 auto; min-width: 4.2em; font-weight: 700; font-variant-numeric: tabular-nums; }
.npds-tr-search__text { flex: 1 1 auto; min-width: 0; }
.npds-tr-results mark { background: var(--npds-lime); color: inherit; padding: 0 1px; }
.npds-tr .npds-tr-hit { text-decoration: underline; text-decoration-color: var(--npds-magenta); text-decoration-thickness: 3px; text-underline-offset: 3px; }
