/* Live enlargement, compact transport, cue markers and flowing captions. */
@import url('./learning-reading.css');
.learning-map-actions { display:flex;gap:18px;flex-wrap:wrap;align-items:center; }
.learning-resume--complete .text-link { color:#e3f2d3;margin:14px 0 0 12px; }
.learning-module[hidden] { display:none!important; }
.study-library .library-filters { margin-top:26px;padding:22px;border:1px solid #d5e3de;border-radius:16px;background:#fff;display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr) minmax(170px,.8fr);gap:18px; }
.library-filters label { display:grid;gap:8px;min-width:0;color:#274d50;font-size:13px;font-weight:650; }
.library-filters input[type="search"],.library-filters select { width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #bccfc8;border-radius:9px;background:#fff;color:#193d40;font:inherit;font-size:14px; }
.library-filters :is(input,select,button):focus-visible,.study-library :is(a,button,summary):focus-visible { outline:3px solid #137b79;outline-offset:3px; }
.library-filter-actions { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap; }
.library-filters .library-saved { display:flex;align-items:center;gap:9px;min-height:36px;cursor:pointer; }
.library-saved input { width:18px;height:18px;accent-color:#08636a; }
.library-count { margin:20px 0 0;color:#48646a;font-size:14px; }
.library-empty { text-align:center;padding:35px 20px;margin-top:20px; }
.library-empty h2 { font-size:22px;margin:0 0 10px; }
.library-empty p { margin-bottom:20px;color:#526b71; }
.study-library .learning-course-library { margin-top:16px; }
.study-library .library-group { padding:0 22px; }
.study-library .library-group>summary { padding:22px 0;font-size:17px;line-height:1.5; }
.library-group>summary>span { display:inline-block;margin-left:10px;color:#526b71;font-size:12px;font-weight:500; }
.study-library .learning-course-library article>.library-resource-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:stretch;gap:12px; }
.library-resource { display:flex;flex-direction:column;min-width:0;border:1px solid #d7e3df;border-radius:12px;padding:16px;background:#f9fcfa; }
.library-resource__heading { display:flex;align-items:flex-start;justify-content:space-between;gap:10px; }
.library-resource__kind { display:flex;align-items:center;gap:7px;min-height:36px;font-size:13px;color:#18545a;font-weight:700; }
.library-resource__kind svg { width:18px;height:18px;flex-shrink:0; }
.library-save { display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:7px;border:1px solid transparent;border-radius:8px;color:#47676a;background:transparent;font:inherit;font-size:12px;cursor:pointer; }
.library-save svg { width:17px;height:17px; }
.library-save:hover { background:#e9f2e9; }
.library-save.is-active { background:#e9f2d1;border-color:#c9dda2;color:#285119; }
.library-resource p { font-size:13px;line-height:1.6;color:#50666b;margin:10px 0 16px; }
.study-library .library-resource .library-open { width:100%;justify-content:center;margin-top:auto;min-height:42px;text-decoration:none;font-size:13px; }
.library-downloads { display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px; }
.study-library .library-downloads a { display:inline-flex;align-items:center;gap:5px;min-height:28px;font-size:12px;line-height:1.5;color:#28646a;text-decoration:underline;text-underline-offset:3px; }
.library-downloads svg { width:14px;height:14px; }
.library-module-volume { padding:20px 0; }
.library-module-volume .library-resource { max-width:650px; }
.library-resource[hidden],.library-group[hidden],.library-lesson[hidden],.library-module-volume[hidden],.library-empty[hidden] { display:none!important; }
@media(max-width:1000px) { .study-library .library-filters { grid-template-columns:1fr 1fr; }.library-query { grid-column:1/-1; } }
@media(max-width:560px) {
  .study-library .library-filters { padding:16px;grid-template-columns:minmax(0,1fr);gap:14px; }
  .study-library .library-group { padding:0 14px; }
  .study-library .library-group>summary { padding:18px 0;font-size:16px; }
  .study-library .learning-course-library article>.library-resource-grid { grid-template-columns:minmax(0,1fr); }
  .library-filter-actions { align-items:flex-start; }
  .learning-resume--complete .text-link { margin-left:0;display:block; }
}
.learning-cinema .learning-player__transport { grid-template-columns:auto minmax(75px,1fr) minmax(225px,1.4fr) auto auto;align-items:center; }
.learning-cinema .learning-player__speed.learning-speed { display:block;min-width:0;width:100%;color:#f0f6ed; }
.learning-speed>span:first-child { display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px; }
.learning-speed output { color:#d4f47d;font-size:13px;font-weight:700; }
.learning-speed input { display:block;width:100%;height:30px;margin:0;accent-color:#c8f24f;cursor:pointer; }
.learning-speed-marks { display:flex;justify-content:space-between;gap:4px; }
.learning-speed-marks>span { position:relative;font-size:10px;line-height:1.4;color:#d7e3df; }
.learning-speed-marks>span::before { content:'';display:block;width:1px;height:4px;margin:0 auto 3px;background:#829f98; }
.learning-speed-marks>span.is-current { color:#d4f47d;font-weight:800; }
.learning-speed-marks>span.is-current::before { width:2px;background:#c8f24f; }
.learning-cinema .learning-player__progress button { position:relative;height:28px;border-radius:0;background:transparent;overflow:visible;touch-action:manipulation; }
.learning-cinema .learning-player__progress button::before { content:'';position:absolute;inset:11px 0;border-radius:4px;background:#638780; }
.learning-cinema .learning-player__progress .learning-timeline-fill { position:absolute;top:11px;left:0;width:0;height:6px;border-radius:4px;background:#c8f24f;pointer-events:none; }
.learning-timeline-marker { position:absolute;top:7px;width:2px;height:14px;background:#dce8e2;transform:translateX(-1px);border-radius:2px; }
.learning-timeline-marker.is-past { background:#c8f24f; }
.learning-timeline-marker.is-current { top:4px;width:4px;height:20px;background:white;box-shadow:0 0 0 1px #073f46;transform:translateX(-2px); }
.learning-cinema .learning-player__caption { display:grid;grid-template-rows:repeat(3,auto);gap:5px;inset:auto 5% 5%;overflow:hidden;--caption-current-opacity:1; }
.learning-cinema .learning-player__caption :is(.caption-active,.caption-context) { display:block;font-family:Arial,sans-serif;font-size:clamp(14px,3.15cqw,24px);line-height:1.25;font-weight:600;color:#fff;white-space:normal;overflow-wrap:normal;text-wrap:balance;text-shadow:-1px -1px 1px #000,1px -1px 1px #000,-1px 1px 1px #000,1px 1px 1px #000,0 2px 5px #000; }
.learning-cinema .learning-player__caption .caption-active { opacity:var(--caption-current-opacity); }
.learning-cinema.has-phrase-captions .learning-player__caption[data-caption-mode=aligned] .caption-active { animation:none; }
.learning-cinema .learning-player__caption .caption-context { opacity:.5;font-size:clamp(12px,2.55cqw,19px);font-weight:500; }
.caption-context:empty::before { content:'\00a0'; }
.learning-cinema .learning-player.captions-off .learning-player__caption { display:none; }
body[data-player-window-open] { position:fixed;top:var(--player-page-top);left:0;right:0;width:100%;overflow:hidden;padding-right:var(--player-page-gutter);box-sizing:border-box; }
.learning-live-dialog { width:min(1200px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;border:1px solid #68817b;border-radius:14px;overflow:hidden;background:#f3f7ee;color:#073f46; }
.learning-live-dialog[open] { display:flex;flex-direction:column; }
.learning-live-dialog::backdrop { background:#062d32d9; }
.learning-live-header { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 16px;flex:none;border-bottom:1px solid #d1ded1; }
.learning-live-header h2 { margin:0;font-size:17px;line-height:1.3; }
.learning-live-header button { min-height:44px;flex:none;padding:8px 12px;font-size:13px; }
.learning-live-header button>span { font-size:23px;line-height:1; }
.learning-live-body { flex:1;min-height:0;overflow:auto;overscroll-behavior:contain; }
.learning-live-body .learning-player { margin:0;border:0;border-radius:0;width:100%; }
.learning-live-body .learning-scene { min-width:0; }
.learning-live-body img { min-width:0; }
.learning-live-dialog :focus-visible { outline:3px solid #14777d;outline-offset:2px; }
@container(max-width:760px) {
 .learning-cinema .learning-player__transport { grid-template-columns:1fr auto auto;gap:8px; }
 .learning-player__playback { grid-column:1;grid-row:1; }
 .learning-cinema .learning-player__transport .learning-player__time { grid-column:1/-1;grid-row:2;text-align:left; }
 .learning-cinema .learning-player__transport .learning-speed { grid-column:1/-1;grid-row:3; }
 .learning-player__transport [data-narrated-captions] { grid-column:2;grid-row:1; }
 .learning-player__transport [data-learning-enlarge] { grid-column:3;grid-row:1; }
 .learning-cinema .learning-player__caption { gap:3px; }
}
@media(max-width:600px) {
 .learning-live-header { gap:10px;padding:8px 10px; }
 .learning-live-header h2 { font-size:15px; }
 .learning-live-header button { padding:8px;font-size:12px; }
}
@media print { .learning-live-dialog { display:none!important; } }

/* Compact transport shared by the course and document lessons. */
.learning-cinema .learning-player .learning-player__controls { padding:8px 12px 10px; gap:6px; }
.learning-cinema .learning-player .learning-player__transport { display:grid; grid-template-columns:auto auto minmax(90px,1fr) auto auto auto; align-items:center; gap:8px; padding:0; }
.learning-cinema .learning-player .learning-player__transport>* { grid-column:auto; grid-row:auto; }
.learning-cinema .learning-player .learning-player__playback { gap:2px; }
.learning-cinema .learning-player .learning-player__transport .learning-control { width:40px; min-width:40px; height:44px; min-height:44px; padding:8px; border-color:transparent; border-radius:8px; background:transparent; }
.learning-cinema .learning-player .learning-player__transport .learning-control:hover { background:#ffffff15; }
.learning-cinema .learning-player .learning-player__transport .learning-control[aria-pressed=true] { color:#d0ee83; background:#ffffff0c; }
.learning-cinema .learning-player .learning-play { width:44px; min-width:44px; height:44px; min-height:44px; }
.learning-cinema .learning-player .learning-player__time { min-width:0; text-align:left; padding-left:5px; }
.learning-cinema .learning-player .learning-player__time>span:not(.composition-sr-only) { font-size:12px; font-variant-numeric:tabular-nums; color:#e1ebe6; }
.learning-cinema .learning-player .learning-speed--compact { width:70px; min-width:0; display:block; }
.learning-cinema .learning-player .learning-speed--compact select { width:100%; max-width:none; min-height:44px; padding:7px 3px; border:0; border-radius:8px; font-size:13px; font-weight:650; color:#f3f7ee; background:#16494e; cursor:pointer; }
.learning-cinema .learning-player .learning-player__cue { min-width:0; margin:0; display:block; }
.learning-cinema .learning-player .learning-player__cue select { width:100%; max-width:100%; min-height:44px; padding:6px 8px; background:#ffffff08; border-color:#ffffff20; border-radius:7px; font-size:12px; }
.learning-cinema .learning-player .learning-player__progress { margin:0; padding:0; }
.learning-cinema .learning-player .learning-player__progress button { height:20px; }
.learning-cinema .learning-player .learning-player__progress button::before { inset:8px 0; }
.learning-cinema .learning-player .learning-timeline-fill { height:4px; top:8px; }
.learning-cinema .learning-player .learning-timeline-marker { top:7px; height:6px; width:1px; opacity:.65; }
.learning-cinema .learning-player .learning-timeline-marker.is-current { top:5px; width:3px; height:10px; opacity:1; box-shadow:none; }
@container(max-width:760px) {
 .learning-cinema .learning-player .learning-player__transport { grid-template-columns:minmax(0,1fr) 62px 36px 36px; gap:4px; }
 .learning-cinema .learning-player .learning-player__playback { grid-column:1; grid-row:1; }
 .learning-cinema .learning-player .learning-player__transport .learning-control { min-width:36px; width:36px; }
 .learning-cinema .learning-player .learning-player__transport .learning-speed--compact { grid-column:2; grid-row:1; width:62px; }
 .learning-cinema .learning-player .learning-player__transport :is([data-narrated-captions],[data-qdc-action=captions]) { grid-column:3; grid-row:1; }
 .learning-cinema .learning-player .learning-player__transport :is([data-learning-enlarge],[data-qdc-action=enlarge]) { grid-column:4; grid-row:1; }
 .learning-cinema .learning-player .learning-player__time { grid-column:1/-1; grid-row:2; padding:0; line-height:1.2; }
 .learning-cinema .learning-player .learning-player__cue { grid-column:1/-1; grid-row:3; }
 .learning-cinema .learning-player .learning-player__cue select { min-height:34px; }
}

/* Fit the live media to the available height; its controls never scroll away.
   Long native documents scroll inside their scene, with captions outside it. */
.learning-live-dialog { height:calc(var(--live-viewport-height,100dvh) - 24px); max-height:calc(var(--live-viewport-height,100dvh) - 24px); overflow:clip; background:#073f46; }
.learning-live-header { min-height:46px; padding:4px 12px; border:0; background:#f3f7ee; }
.learning-live-header h2 { font-size:14px; }
.learning-live-header button { min-height:36px; padding:4px 8px; border-color:transparent; background:transparent; }
.learning-live-body { display:flex; overflow:clip; }
.learning-live-body>.learning-player { display:flex; flex-direction:column; height:100%; min-height:0; max-height:100%; overflow:clip; }
.learning-live-dialog [data-learning-stage] { flex:1 1 0%; min-height:0; display:flex; align-items:center; justify-content:center; overflow:clip; background:#082f34; }
.learning-live-dialog [data-learning-stage]>.learning-scene { flex:none; width:var(--live-scene-width,100%); max-width:100%; }
.learning-live-dialog .learning-player__controls { flex:none; }
.learning-live-dialog .learning-deck--inline { flex:0 1 auto; min-height:34px; max-height:30%; overflow:auto; overscroll-behavior:contain; }
.learning-live-dialog .learning-deck--inline>summary { min-height:34px; padding:7px 12px; font-size:12px; }
.learning-live-dialog .learning-deck--inline>summary>span { font-size:12px; }
.learning-live-dialog .qdc-stage { flex:1 1 0%; min-height:0; display:flex; flex-direction:column; align-items:center; overflow:clip; background:#082f34; }
.learning-live-dialog .qdc-picture:not(.is-teaching) { flex:none; width:var(--live-scene-width,100%); max-width:100%; margin:auto; aspect-ratio:16/9; }
.learning-live-dialog .qdc-picture.is-teaching { flex:1 1 0%; min-height:0; width:100%; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#658e82 #edf2e6; }
.learning-cinema .learning-live-dialog .qdc-captions { flex:none; margin:0; min-height:0; padding:8px 16px; width:100%!important; background:#073f46!important; }
.learning-live-dialog .qdc-scene-reading { flex:0 1 auto; min-height:34px; max-height:30%; overflow:auto; padding:0 12px; overscroll-behavior:contain; }
.learning-live-dialog .qdc-scene-reading>summary { min-height:34px; padding:7px 0; font-size:12px; }
.learning-live-dialog .qdc-notices { flex:0 1 auto; max-height:18%; overflow:auto; }
@media(max-height:600px) {
 .learning-cinema .learning-live-dialog .caption-context { display:none!important; }
 .learning-cinema .learning-live-dialog .learning-player__caption { grid-template-rows:auto; gap:0; }
 .learning-cinema .learning-live-dialog .qdc-captions { padding:6px 12px; }
 .learning-live-header { min-height:40px; padding:2px 10px; }
}
