.video-modal{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.video-modal.visible{opacity:1;visibility:visible}.video-modal-inner{position:relative;display:flex;flex-direction:column;width:100%;max-width:1080px;max-height:100vh;background:#0d0d0b;border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.7)}.video-modal:fullscreen .video-modal-inner,.video-modal:-webkit-full-screen .video-modal-inner{max-width:100%;max-height:100%;border-radius:0;border:none}.vmodal-topbar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.vmodal-title{flex:1;font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vmodal-topbar-spacer{flex:1}.vmodal-stage{position:relative;background:#000;cursor:pointer;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.vmodal-stage video{width:100%;height:100%;object-fit:contain;display:block}.vmodal-controls{padding:.5rem .75rem;background:#0d0d0b;border-top:1px solid var(--border);flex-shrink:0;transition:opacity .3s ease}.vmodal-controls.hidden{opacity:0;pointer-events:none}.vmodal-progress{position:relative;height:20px;display:flex;align-items:center;cursor:pointer;margin-bottom:.35rem}.vmodal-progress-track{position:relative;width:100%;height:4px;background:var(--border);border-radius:2px;overflow:visible}.vmodal-progress-fill{height:100%;background:var(--accent);border-radius:2px;width:0%;pointer-events:none;transition:width .1s linear}.vmodal-progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--text);border-radius:50%;opacity:0;transition:opacity .15s;pointer-events:none}.vmodal-progress:hover .vmodal-progress-thumb{opacity:1}.vmodal-progress:hover .vmodal-progress-track{height:6px}.vmodal-progress-tooltip{position:absolute;bottom:calc(100% + 4px);transform:translateX(-50%);background:var(--border);color:var(--text);font-size:.7rem;padding:2px 5px;border-radius:3px;pointer-events:none;opacity:0;transition:opacity .15s;white-space:nowrap}.vmodal-progress-tooltip.visible{opacity:1}.vmodal-ctrl-row{display:flex;align-items:center;gap:.25rem}.vmodal-btn{background:0 0;border:none;color:var(--muted);cursor:pointer;padding:.3rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;flex-shrink:0}.vmodal-btn:hover{background:var(--border);color:var(--text)}.vmodal-play.is-playing .icon-play{display:none}.vmodal-play:not(.is-playing) .icon-pause{display:none}.vmodal-mute.is-muted .icon-vol-high,.vmodal-mute:not(.is-muted) .icon-vol-mute{display:none}.vmodal-mute.is-low .icon-vol-high{display:none}.vmodal-mute:not(.is-low):not(.is-muted) .icon-vol-low{display:none}.vmodal-fs.is-fs .icon-fs-enter{display:none}.vmodal-fs:not(.is-fs) .icon-fs-exit{display:none}.vmodal-speed-label{font-size:.72rem;min-width:28px;text-align:center;font-family:var(--font-mono);color:var(--muted)}.vmodal-vol{-webkit-appearance:none;appearance:none;width:72px;height:4px;background:linear-gradient(to right,var(--accent) var(--vol-pct,100%),var(--border) var(--vol-pct,100%));border-radius:2px;outline:none;cursor:pointer;flex-shrink:0}.vmodal-vol::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:var(--text);border-radius:50%}.vmodal-vol::-moz-range-thumb{width:12px;height:12px;background:var(--text);border-radius:50%;border:none}.vmodal-time{font-size:.72rem;color:var(--muted);white-space:nowrap;padding:0 .25rem;flex-shrink:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.vmodal-spacer{flex:1}.vmodal-close{margin-left:auto}