.dvg-gallery{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;max-width:1280px;margin:0 auto;padding:4px;color:#111}
.dvg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.dvg-card{display:flex;flex-direction:column;transition:transform .25s ease}
.dvg-card:hover{transform:translateY(-3px)}
.dvg-thumb-wrap{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;cursor:pointer;background:#1a1a1a;box-shadow:0 1px 3px rgba(0,0,0,.12),0 8px 24px rgba(0,0,0,.08);transition:box-shadow .25s ease}
.dvg-card:hover .dvg-thumb-wrap,.dvg-thumb-wrap:focus-visible{box-shadow:0 4px 10px rgba(0,0,0,.18),0 16px 40px rgba(0,0,0,.14);outline:none}
.dvg-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.dvg-thumb-wrap::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,0));pointer-events:none;z-index:2}
.dvg-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;z-index:3;transition:transform .2s ease;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3))}
.dvg-thumb-wrap:hover .dvg-play{transform:translate(-50%,-50%) scale(1.08)}
.dvg-watch{position:absolute;bottom:12px;left:14px;right:14px;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:6px;color:#fff;font-size:.82rem;font-weight:500;pointer-events:none}
.dvg-yt-icon{height:20px;width:28px;display:block}
.dvg-yt-word{font-weight:700;letter-spacing:-.02em}
.dvg-thumb-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}
.dvg-info{padding:10px 2px 0}
.dvg-title{font-size:.98rem;font-weight:600;line-height:1.3;margin:0}
.dvg-title-link{color:#0f0f0f;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s ease}
.dvg-card:hover .dvg-title-link{color:var(--dvg-hover,#8c8c43)}
.dvg-channel{font-size:.82rem;color:#606060;margin-top:4px}
.dvg-desc-btn{margin-top:10px;font:inherit;font-size:.82rem;font-weight:600;color:var(--dvg-hover,#8c8c43);background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.dvg-desc-btn::before{content:"\2630";font-size:.9em}
.dvg-desc-btn:hover{text-decoration:underline}
.dvg-desc{display:none}
.dvg-extra{display:none}
.dvg-more-wrap{text-align:center;margin-top:30px}
.dvg-more{appearance:none;-webkit-appearance:none;font:inherit;font-weight:600;font-size:.95rem;color:#0f0f0f;background:#fff;border:1.5px solid #d6d6c8;padding:11px 32px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.dvg-more:hover,.dvg-more:focus-visible{background:var(--dvg-hover,#8c8c43);border-color:var(--dvg-hover,#8c8c43);color:#fff;outline:none}
.dvg-more[hidden]{display:none}
.dvg-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.dvg-modal[hidden]{display:none}
.dvg-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.dvg-modal-box{position:relative;background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:82vh;overflow-y:auto;padding:30px 32px 34px;box-shadow:0 24px 70px rgba(0,0,0,.35);animation:dvg-pop .22s ease}
@keyframes dvg-pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.dvg-modal-close{position:absolute;top:12px;right:16px;border:0;background:none;cursor:pointer;font-size:1.8rem;line-height:1;color:#999}
.dvg-modal-close:hover{color:#111}
.dvg-modal-title{margin:0 28px 16px 0;font-size:1.15rem;font-weight:700;line-height:1.3;color:#0f0f0f}
.dvg-modal-body{font-size:.95rem;line-height:1.6;color:#333}
.dvg-modal-body p{margin:0 0 12px}
.dvg-h{font-weight:700;color:#0f0f0f;margin:18px 0 8px}
.dvg-list{margin:0 0 14px;padding:0;list-style:none}
.dvg-list li{position:relative;padding-left:26px;margin-bottom:8px}
.dvg-list li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--dvg-hover,#8c8c43);font-weight:700}
body.dvg-modal-open{overflow:hidden}
@media(max-width:600px){.dvg-grid{grid-template-columns:1fr!important}.dvg-modal-box{padding:24px 20px 28px}.dvg-play{width:56px;height:40px}}
