/* One searchable video shelf; the shared media-first player remains independent. */
.jg-library{margin:20px 0 0;color:#0A1628;min-width:0}
.jg-library *{box-sizing:border-box}
.jg-library-heading h2{font-family:system-ui,sans-serif;font-size:clamp(26px,3vw,36px);line-height:1.15;letter-spacing:-.035em;margin:0 0 9px}
.jg-library-heading p{max-width:65ch;margin:0;color:#3D5068;font-size:16px;line-height:1.55}
.jg-library button,.jg-library input,.jg-library select{font:inherit;font-size:16px}
.jg-library button,.jg-library a,.jg-library select{touch-action:manipulation}
.jg-library button{cursor:pointer}
.jg-library button:focus-visible,.jg-library a:focus-visible,.jg-library input:focus-visible,.jg-library select:focus-visible{outline:3px solid #1A6FD4;outline-offset:3px}
.jg-library-sources{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid #B8C9DF;margin-top:0}
.jg-library-sources button{flex:1 1 auto;min-height:50px;border:0;border-bottom:3px solid transparent;padding:12px 16px;background:transparent;color:#3D5068;font-family:system-ui,sans-serif;font-weight:700;line-height:1.35;overflow-wrap:normal}
.jg-library-sources button[aria-pressed=true]{color:#003478;border-bottom-color:#003478;background:#E8F1FC}
.jg-library-sources button:hover{background:#E8F1FC}
.jg-library-tools{padding:20px 0 0;scroll-margin-top:110px}
.jg-library-search-label{display:block;font-weight:700;line-height:1.4;font-size:16px;margin-bottom:7px}
.jg-library-search{display:flex;align-items:center;gap:11px;min-height:52px;padding:0 14px;border:1px solid #9FB4CE;background:#FFFFFF;border-radius:10px;color:#3D5068}
.jg-library-search>svg{flex:0 0 auto}
.jg-library-search input{width:100%;min-width:0;min-height:50px;border:0;background:transparent;color:#0A1628;line-height:1.5;outline-offset:-2px}
.jg-library-search input::-webkit-search-cancel-button{display:none}
.jg-library-search input::placeholder{color:#5A6B80;opacity:1}
.jg-library-search button{flex:0 0 44px;width:44px;min-height:44px;border:0;background:transparent;color:#003478;font-size:26px}
.jg-library-filters{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;align-items:flex-start}
.jg-library-extra{margin-top:8px}
.jg-library-extra>summary{display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px;min-height:44px;padding:7px 0;cursor:pointer;color:#003478;font-size:16px;line-height:1.45;list-style:none}
.jg-library-extra>summary::-webkit-details-marker{display:none}
.jg-library-extra>summary::before{content:'+';font-size:21px;line-height:1;font-weight:700}
.jg-library-extra[open]>summary::before{content:'−'}
.jg-library-extra>summary>span:first-child{font-weight:700}
.jg-library-extra>summary>span:last-child{color:#3D5068}
.jg-library-extra>summary:focus-visible{outline:3px solid #1A6FD4;outline-offset:3px}
.jg-library-extra-controls{display:flex;flex-wrap:wrap;gap:10px;padding:6px 0 10px}
.jg-library-extra-controls>p{flex:1 0 100%;margin:0;font-size:16px;line-height:1.5;color:#3D5068}
.jg-library-filter{position:relative;flex:1 1 140px;min-width:min-content;max-width:100%;border:1px solid #B8C9DF;border-radius:9px;background:#FFFFFF}
.jg-library-filter summary{position:relative;display:flex;flex-direction:column;gap:3px;min-height:64px;padding:10px 25px 10px 11px;cursor:pointer;list-style:none}
.jg-library-filter summary::-webkit-details-marker{display:none}
.jg-library-filter summary::after{content:'⌄';position:absolute;right:9px;top:17px;color:#003478;font-size:18px;line-height:1}
.jg-library-filter[open] summary::after{content:'⌃'}
.jg-library-filter summary span{font-size:15px;line-height:1.4;color:#3D5068}
.jg-library-filter summary strong{font-size:16px;line-height:1.4;font-weight:600;color:#0A1628;overflow-wrap:normal}
.jg-library-filter summary:focus-visible{outline:3px solid #1A6FD4;outline-offset:3px}
.jg-library-filter>div{position:absolute;top:calc(100% + 5px);left:-1px;z-index:15;width:max-content;min-width:100%;max-width:min(300px,calc(100vw - 32px));max-height:min(410px,60vh);overflow:auto;padding:5px;background:#FFFFFF;border:1px solid #9FB4CE;border-radius:9px;box-shadow:0 8px 24px rgba(10,22,40,.12)}
.jg-library-filter:nth-of-type(2)>div{left:auto;right:-1px}
.jg-library-filter>div button{display:block;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:5px;background:#FFFFFF;color:#0A1628;text-align:left;line-height:1.4;white-space:normal}
.jg-library-filter>div button[aria-pressed=true]{background:#E8F1FC;color:#003478;font-weight:700}
.jg-library-filter>div button:hover{background:#F2F7FD}
.jg-library-guidance,.jg-library-channel p{margin:10px 0 0;font-size:16px;line-height:1.5;color:#3D5068}
.jg-library-channel{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.jg-library-channel a,.jg-library-manual button,.jg-library-related button,.jg-library-results-heading button{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;background:transparent;color:#003478;font-size:16px;font-weight:700;line-height:1.45;text-align:left;text-decoration:underline;text-underline-offset:3px}
.jg-library-related{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#E8F1FC;padding:10px 14px;margin-top:16px;border-left:3px solid #003478}
.jg-library-related p{margin:0;font-size:16px;line-height:1.5;flex:1 1 220px}
.jg-library-results-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:18px 0 4px;min-height:44px}
.jg-library-results-heading p{margin:0;font-size:16px;line-height:1.45;color:#3D5068}
.jg-library-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 22px}
.jg-library-card{display:flex;flex-direction:column;gap:12px;min-width:0;width:100%;padding:10px 0 16px;border:0;border-bottom:1px solid #D3DFED;border-radius:0;background:transparent;text-align:left;color:#0A1628}
.jg-library-image{position:relative;display:block;aspect-ratio:16/9;width:100%;flex:0 0 auto;overflow:hidden;border-radius:10px;background:#DDE4EC}
.jg-library-image img{display:block;width:100%;height:100%;object-fit:cover}
.jg-library-play{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:#FFFFFF;background:#003478}
.jg-library-duration{position:absolute;right:8px;bottom:8px;background:#0A1628;color:#FFFFFF;border-radius:4px;padding:3px 6px;font-size:14px;font-weight:700;line-height:1.2}
.jg-library-copy{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}
.jg-library-system{color:#003478;font-weight:600;font-size:15px;line-height:1.4}
.jg-library-copy strong{font-family:system-ui,sans-serif;font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.02em;overflow-wrap:break-word}
.jg-library-description{color:#3D5068;font-size:16px;line-height:1.5}
.jg-library-date{color:#5A6B80;font-size:15px;line-height:1.4}
.jg-library-card:hover strong{text-decoration:underline;text-underline-offset:3px}
.jg-library-card:hover .jg-library-play{background:#0A4694}
.jg-library-empty{padding:25px 0;border-bottom:1px solid #D3DFED}
.jg-library-empty h3{font-family:system-ui,sans-serif;font-size:21px;line-height:1.35;margin:0 0 8px}
.jg-library-empty p{margin:0 0 14px;font-size:16px;line-height:1.55;max-width:64ch;color:#3D5068}
.jg-library-more{display:flex;justify-content:center;margin:22px 0 0}
.jg-library-more button{min-width:210px;white-space:normal}
.jg-library-manual{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:26px;padding-top:14px;border-top:1px solid #D3DFED}
.jg-library-manual p{margin:0;font-size:16px;line-height:1.5;color:#3D5068}
@media(max-width:900px){.jg-library-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){
  .jg-library{margin-top:18px}
  .jg-library-sources button{padding:12px 8px}
  .jg-library-filters{gap:10px}
  .jg-library-results{grid-template-columns:minmax(0,1fr);gap:0}
  .jg-library-card{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:18px 0}
  .jg-library-image{width:7em;max-width:100%;flex:0 0 7em;margin-top:3px}
  .jg-library-copy{flex:1 1 10em}
  .jg-library-copy strong{font-size:18px}
  .jg-library-system{font-size:15px}
  .jg-library-description{font-size:16px}
  .jg-library-play{width:26px;height:26px;left:6px;bottom:6px}
  .jg-library-play svg{width:13px;height:13px}
  .jg-library-duration{font-size:13px;right:4px;bottom:5px;padding:3px 4px}
}
@media(max-width:359px){.jg-library-image{width:6em;flex-basis:6em}.jg-library-card{gap:10px}}
