.video-library {scroll-margin-top:100px}
.video-library .video-intro {margin-bottom:24px}
.video-library-stack {display:grid;gap:26px}
.video-library .video-subheading {font:26px/1.25 var(--serif);margin:32px 0 18px}
.video-library-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,356px),1fr));gap:24px}
.video-card {min-width:0;margin:0;background:#efeee7;border-radius:12px;overflow:hidden}
.video-mount {position:relative;aspect-ratio:16/9;min-height:200px;background:#202720;overflow:hidden}
.video-mount video,.video-mount iframe {display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;border:0;background:#202720}
.video-cover {position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;text-decoration:none;background:#202720;color:#fff}
.video-cover img {display:block;width:100%;height:100%;object-fit:cover}
.video-cover::after {content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.62));pointer-events:none}
.video-cover:focus-visible {outline:3px solid #d8b4b8;outline-offset:-5px}
.video-play-chip {position:absolute;left:16px;bottom:15px;z-index:1;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border-radius:8px;background:rgba(248,246,240,.96);color:#272b27;font:500 14px/1.1 var(--sans);transition:background .18s ease}
.video-cover:hover .video-play-chip {background:#fff}
.video-play-icon {font-size:12px}
.video-duration {position:absolute;right:16px;bottom:21px;z-index:1;color:white;font:500 13px/1.4 var(--sans);font-variant-numeric:tabular-nums}
.video-caption {padding:18px 20px 20px}
.video-card .video-heading {display:block;font:24px/1.25 var(--serif);color:var(--ink);margin:0 0 8px}
.video-card .video-description {display:block;font:14px/1.7 var(--sans);color:var(--muted)}
.video-card .video-open {display:inline-flex;align-items:center;gap:9px;margin-top:12px;padding:7px 10px;border:0;border-radius:6px;color:var(--wine);background:rgba(117,61,67,.06);text-decoration:none;font:500 13px/1.4 var(--sans)}
.video-card .video-open:hover {background:rgba(117,61,67,.12)}
.video-card .video-status {margin:12px 20px 0;font:14px/1.6 var(--sans);color:var(--wine)}
.video-status[hidden] {display:none}
.video-panel.video-card {margin:0 auto}
body[lang=zh] .video-card .video-heading {font-size:21px;line-height:1.45}
@media(max-width:620px){
  .video-library-grid{grid-template-columns:1fr;gap:20px}
  .video-caption{padding:16px}
  .video-card .video-heading{font-size:23px}
  .video-play-chip{left:12px;bottom:12px;padding:9px 11px}
  .video-duration{right:12px;bottom:18px}
}
@media(prefers-reduced-motion:reduce){.video-play-chip{transition:none}}
@media print{
  .video-card{break-inside:avoid;border:1px solid #ddd;background:none}
  .video-play-chip,.video-duration,.video-status{display:none}
  .video-mount{max-height:240px}
  .video-open{color:#222!important}
}

/* Inline playback: buttons stay in this page, including local previews. */
.video-cover,.video-card .video-open{cursor:pointer}
.video-card .video-open:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.video-quality{display:block;margin-top:9px;font:12px/1.5 var(--sans);color:var(--muted)}
.video-quality-hd{padding:10px 12px;border-radius:6px;background:#e7eadf;color:var(--ink);font-size:14px;line-height:1.6}
.video-quality[hidden]{display:none}
@media print{.video-card .video-open,.video-quality{display:none}}
