.yt-modal { position: fixed; inset: 0; z-index: var(--z-modal); align-items: center; justify-content: center; padding: clamp(1rem, 4vw, 2.5rem); padding-top: calc(clamp(1rem, 4vw, 2.5rem)); background: rgba(0, 0, 0, 0.82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } .yt-modal[hidden] { display: none; } .yt-modal:not([hidden]) { display: flex; animation: yt-fade var(--duration-fast) ease; } .yt-modal-backdrop { position: absolute; inset: 0; cursor: zoom-out; background: none; border: none; } .yt-modal-dialog { position: relative; width: min(1040px, 100%); aspect-ratio: 16 / 9; border-radius: var(--radius-md); overflow: hidden; background: #000; box-shadow: var(--shadow-modal); animation: yt-pop 0.28s var(--ease-standard); } .yt-modal-dialog iframe { width: 100%; height: 100%; border: 0; display: block; } .yt-modal-close { position: absolute; top: -46px; right: 0; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid var(--color-border); border-radius: var(--radius-pill); background: rgba(0, 0, 0, 0.6); color: #fff; cursor: pointer; backdrop-filter: blur(6px); transition: background var(--duration-fast) ease; } .yt-modal-close:hover { background: var(--color-fg); color: var(--color-bg); } @keyframes yt-fade { from { opacity: 0; } to { opacity: 1; } } @keyframes yt-pop { from { opacity: 0; transform: scale(0.94); } to { opacity: 1; transform: scale(1); } } @media (max-width: 560px) { .yt-modal-close { top: calc(8px); right: 8px; background: rgba(0, 0, 0, 0.75); } }