/* Keep the page width stable while the video dialog locks background scrolling. */
html{scrollbar-gutter:stable}
.app-video-trigger{display:block;border:0;padding:0;color:#000d6d;cursor:pointer;text-align:center}
.app-video-trigger:focus-visible{outline:3px solid #ff315d;outline-offset:5px}
.app-video-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:rgba(0,13,109,.08)}
.app-video-play{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:#ff315d;color:#fff;box-shadow:0 4px 25px rgba(0,13,109,.22);transition:background .2s,transform .2s}
.app-video-play svg{width:29px;height:29px;fill:currentColor;stroke:none;margin-left:4px}
.app-video-caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:calc(100% - 32px);padding:11px 17px;border-radius:22px;background:#fff;box-shadow:0 3px 18px rgba(0,13,109,.12);font-size:1rem;line-height:1.4;font-weight:700}
.app-video-duration{font-size:.875rem;font-weight:500;color:#555e9e;font-variant-numeric:tabular-nums}
@media(hover:hover){.app-video-trigger:hover .app-video-play{background:#da204a;transform:scale(1.045)}}
.app-video-dialog{width:min(960px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:22px;background:#fff;color:#000d6d;box-shadow:0 18px 80px rgba(0,0,0,.25);overflow:auto}
.app-video-dialog:not([open]){display:none}
.app-video-dialog::backdrop{background:rgba(0,8,45,.76)}
.app-video-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px}
.app-video-header h2{font-size:1.25rem;line-height:1.35;letter-spacing:-.02em}
.app-video-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:10px;border:1px solid #dde0ec;border-radius:50%;background:#fff;color:#000d6d;cursor:pointer}
.app-video-close:hover{background:#ffeaef;border-color:#ff315d}
.app-video-close:focus-visible{outline:3px solid #ff315d;outline-offset:3px}
.app-video-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2}
.app-video-dialog video{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:calc(100dvh - 120px);background:#000;object-fit:contain}
.app-video-dialog video::cue{color:#fff;background:rgba(0,0,0,.82)}
.app-video-error{margin:0;padding:18px 22px;font-size:1rem;line-height:1.6}
.app-video-error[hidden]{display:none}
.app-video-error a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:640px){.app-video-play{width:68px;height:68px}.app-video-caption{font-size:.9375rem;padding:10px 14px}.app-video-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.app-video-header{padding:10px 14px;gap:12px}.app-video-header h2{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){.app-video-play{transition:none}}
