/* 좋은 영상(/videos) — 유튜브 영상 카드와 재생 창. academy-v2 토큰, 클래스는 vd- 접두사 */
.vd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;list-style:none;margin:18px 0 0;padding:0}
.vd-card{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:1px solid var(--v2-line,#e5e8ee);border-radius:18px;background:#fff;overflow:hidden;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .18s,box-shadow .18s,border-color .18s}
.vd-card:hover,.vd-card:focus-visible{transform:translateY(-3px);border-color:var(--v2-navy,#0c1840);box-shadow:0 14px 28px rgba(12,24,64,.14)}
.vd-thumb{position:relative;display:block;aspect-ratio:16/9;background:#0c1840;overflow:hidden}
.vd-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vd-play{position:absolute;inset:0;display:grid;place-items:center}
.vd-play i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(12,24,64,.72);color:#fff;font-style:normal;font-size:1.3rem;padding-left:3px}
.vd-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(160deg,#172d5b,#0c1840);color:#fff;font-weight:800}
.vd-lockbar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;background:linear-gradient(0deg,rgba(12,24,64,.88),rgba(12,24,64,.55));color:#fff;font-size:.8rem;font-weight:800;letter-spacing:-.01em}
.vd-d-note{margin:10px 0 0;padding:9px 12px;border-radius:10px;background:rgba(255,201,60,.16);color:#ffd45e;font-size:.85rem;line-height:1.5}
.vd-lock b{font-size:1.9rem;line-height:1}
.vd-lock span{font-size:.82rem;letter-spacing:-.01em;color:rgba(255,255,255,.85)}
.vd-kind{position:absolute;left:10px;top:10px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--v2-navy,#0c1840);font-size:.72rem;font-weight:900}
.vd-kind.live{background:#b3001b;color:#fff}
.vd-info{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}
.vd-title{margin:0;color:var(--v2-navy,#0c1840);font-size:1rem;font-weight:900;line-height:1.4;letter-spacing:-.02em;word-break:keep-all}
.vd-desc{margin:0;color:var(--v2-text,#3b4453);font-size:.86rem;line-height:1.55;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vd-meta{margin:0;color:#6b7690;font-size:.78rem;font-weight:700}
.vd-none{margin:28px 0;padding:36px 16px;text-align:center;color:#6b7690;border:1px dashed var(--v2-line,#e5e8ee);border-radius:16px}
.vd-dialog{width:min(920px,calc(100% - 24px));padding:0;border:0;border-radius:18px;background:#0b1226;color:#fff;box-shadow:0 30px 70px rgba(12,24,64,.5);overflow:hidden}
.vd-dialog::backdrop{background:rgba(12,24,64,.7)}
.vd-frame{position:relative;aspect-ratio:16/9;background:#000}
.vd-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vd-d-body{padding:16px 20px 20px}
.vd-d-body h2{margin:0 0 6px;color:#fff;font-size:1.15rem;font-weight:900;line-height:1.4}
.vd-d-body p{margin:0;color:rgba(255,255,255,.78);font-size:.9rem;line-height:1.6}
.vd-close{position:absolute;right:10px;top:10px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:rgba(12,24,64,.75);color:#fff;font-size:1rem;cursor:pointer}
@media (max-width:600px){.vd-grid{grid-template-columns:1fr;gap:14px}}
@media (prefers-reduced-motion:reduce){.vd-card{transition:none}.vd-card:hover,.vd-card:focus-visible{transform:none}}
