/* Native cursor must remain visible in the browser's top layer. */
body.custom-cursor.media-modal-open,body.custom-cursor dialog,body.custom-cursor dialog *,body.custom-cursor dialog::backdrop{cursor:auto!important}
body.custom-cursor dialog button,body.custom-cursor dialog a{cursor:pointer!important}
body.media-modal-open .cursor-dot,body.media-modal-open .cursor-ring{display:none!important}
body.media-modal-open{overflow:hidden}
/* html sets overflow-x:clip, so the body rule above does not propagate to the
   viewport. Lock the real scroll container too, otherwise the page keeps
   scrolling behind the open modal. */
html:has(dialog[open]){overflow:hidden}
video:fullscreen{cursor:auto!important;object-fit:contain;background:#000}
#player,#certificate-viewer{padding:0;width:min(1180px,94vw);max-height:94svh;border:1px solid #ffffff26;border-radius:14px;background:#111114;box-shadow:0 30px 120px #000a;overflow:auto}
#player::backdrop,#certificate-viewer::backdrop{background:#030305ed;backdrop-filter:blur(14px)}
.media-toolbar,.certificate-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;margin:0;border-bottom:1px solid #ffffff12;background:#151518}
.media-brand{display:flex;align-items:center;gap:10px;font:10px 'JetBrains Mono',monospace;color:#c5c5cd;letter-spacing:.12em}.media-brand i{width:6px;height:6px;background:#f24b58;border-radius:50%}
.media-toolbar>div{display:flex;align-items:center;gap:18px}.escape-hint{font:10px 'JetBrains Mono',monospace;color:#8d8d96}
#player button,#certificate-viewer button{min-height:44px;padding:9px 16px;border:1px solid #ffffff20;border-radius:6px;background:#ffffff04;color:#eee;font-size:12px;transition:background .2s,border-color .2s}
#player button:hover,#certificate-viewer button:hover{background:#ffffff0c;border-color:#ffffff48}
#player #close{float:none;min-width:78px;background:#27272d;border-color:#ffffff20}
.video-stage{position:relative;display:grid;place-items:center;background:#030304;min-height:180px}
#player video{display:block;width:100%;height:min(57svh,610px);max-height:none;object-fit:contain;background:#030304}
#video-status{position:absolute;top:14px;left:20px;pointer-events:none;background:#101014d9;border-radius:5px;padding:6px 10px;font-size:12px;color:#eee;margin:0}#video-status:empty{display:none}
#video-status .video-fallback{pointer-events:auto;color:#ffb1b8;text-decoration:underline;text-underline-offset:3px;margin-left:8px}
#video-status .video-fallback:hover{color:#fff}
.media-information{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px}.media-information>div{min-width:0}.media-information .meta{font-size:10px;color:#e58b94}
#player h2{font-size:25px;font-weight:500;line-height:1.45;margin:10px 0 8px}#player #video-description{font-size:13px;line-height:1.8;margin:0;max-width:780px;color:#aaaab4}
#video-fullscreen{flex-shrink:0}.media-bottom{display:flex;align-items:center;justify-content:space-between;padding:15px 28px;border-top:1px solid #ffffff13;background:#0d0d10}.media-bottom>span{font:11px 'JetBrains Mono',monospace;color:#a2a2ad}
#certificate-viewer .certificate-toolbar{font-size:11px}#certificate-position{flex:1}#certificate-zoom[aria-pressed=true]{border-color:#ac4650;background:#36181e;color:#ffc2c8}
#certificate-viewer .certificate-stage{height:58svh;padding:20px;overflow:auto;overscroll-behavior:contain;background:#08080a}
#certificate-viewer .certificate-stage.is-zoomed{display:block;text-align:center}
#certificate-viewer .certificate-stage.is-zoomed img{max-width:none;max-height:none;width:max(100%,800px);height:auto;display:block;margin:auto}
#certificate-viewer .certificate-caption{padding:20px 26px;gap:30px}#certificate-viewer h2{font-size:20px;margin:0;line-height:1.5}#certificate-viewer .certificate-caption p{line-height:1.8;margin-bottom:0}
#certificate-viewer .certificate-controls{padding:15px 26px;border-top:1px solid #ffffff13;background:#0d0d10}
@media(max-width:700px){#player,#certificate-viewer{width:96vw;border-radius:10px;max-height:96svh}.media-toolbar,.certificate-toolbar{padding:12px;gap:8px}.escape-hint{display:none}.media-brand{font-size:9px;letter-spacing:.04em}.media-toolbar>div{gap:0}#player video{height:auto;max-height:50svh;min-height:190px}.media-information{padding:20px 16px;display:block}#player h2{font-size:21px}#video-fullscreen{margin-top:18px}.media-bottom{padding:12px 16px}#certificate-viewer .certificate-toolbar{flex-wrap:wrap}#certificate-position{flex-basis:100%;padding:4px 0 7px}#certificate-close{margin-left:auto}#certificate-viewer .certificate-stage{height:49svh;padding:10px}#certificate-viewer .certificate-caption{padding:16px;display:block}#certificate-viewer h2{font-size:17px}#certificate-viewer .certificate-controls{padding:12px 16px}}
@media(min-width:701px){#player video{height:min(57svh,calc(94svh - 330px));min-height:180px}}

.media-toolbar,.certificate-toolbar{position:sticky;top:0;z-index:2}
