.mosaic-item.has-videos{cursor:pointer;transition:transform .18s,box-shadow .18s}
.mosaic-item.has-videos:active{transform:scale(.97)}
.mosaic-item.has-videos:hover{box-shadow:0 0 0 1px #86fb6a inset}
.blv-overlay{position:fixed;inset:0;z-index:9999;background:#000;display:none;flex-direction:column}
.blv-overlay.open{display:flex}
body.blv-lock{overflow:hidden}.blv-info{-webkit-overflow-scrolling:touch}
.blv-player{flex:0 0 auto;width:100%;background:#000;display:flex;align-items:center;justify-content:center;height:55vh}
.blv-player video{width:100%;height:100%;object-fit:contain;display:block}
.blv-info{flex:1;background:#0a0e14;overflow-y:auto;border-top:1px solid #1c2430}
.blv-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;position:sticky;top:0;background:#0a0e14;z-index:1;border-bottom:1px solid #1c2430}
.blv-title{color:#f2f5f9;font-weight:700;font-size:1rem;display:flex;align-items:center;gap:8px}
.blv-title .dot{width:8px;height:8px;border-radius:50%;background:#86fb6a;flex-shrink:0}
.blv-close{background:#11161f;color:#f2f5f9;border:1px solid #232b38;border-radius:10px;padding:7px 13px;cursor:pointer;font-size:.9rem;white-space:nowrap}
.blv-now{color:#86fb6a;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin:10px 16px 3px}
.blv-now-title{color:#f2f5f9;font-weight:600;font-size:.95rem;margin:0 16px 10px}
.blv-list{display:flex;flex-direction:column;gap:8px;padding:0 12px 24px}
.blv-item{display:flex;align-items:center;gap:12px;background:#11161f;border:1px solid #1c2430;border-radius:12px;padding:11px 13px;color:#f2f5f9;cursor:pointer;text-align:left;width:100%;font-family:inherit}
.blv-item .idx{font-family:monospace;color:#8a93a3;min-width:22px;font-size:.85rem}
.blv-item.active{border-color:#86fb6a}
.blv-item.active .idx{color:#86fb6a}
.blv-item .meta b{display:block;font-size:.9rem}
.blv-item .meta span{color:#8a93a3;font-size:.78rem}
.mosaic-item.has-videos .mosaic-content,
.mosaic-item.has-videos .mosaic-emoji,
.mosaic-item.has-videos .mosaic-label { pointer-events: none; }
.blv-player video { pointer-events: auto; }
