/* 관리자 MP4 썸네일과 재생 창(SSOT 2·3·11절). */
.admin-teacher-video-preview { position: relative; display: block; inline-size: min(100%, 18rem); padding: 0; overflow: hidden; border: 1px solid var(--wa-color-surface-border); border-radius: var(--sonub-radius-control); background: var(--wa-color-surface-lowered); cursor: pointer; }
.admin-teacher-video-preview video { display: block; inline-size: 100%; aspect-ratio: 16 / 9; object-fit: cover; pointer-events: none; }
.admin-teacher-video-play { position: absolute; inset: 0; display: grid; place-content: center; pointer-events: none; }
.admin-teacher-video-play .fa-play { display: grid; place-content: center; inline-size: 3rem; block-size: 3rem; border-radius: 50%; background: var(--wa-color-brand-fill-loud); color: var(--wa-color-brand-on-loud); box-shadow: var(--wa-shadow-m); }
.admin-teacher-video-preview:focus-visible { outline: 2px solid var(--sonub-accent); outline-offset: 3px; }
.admin-teacher-video-preview:hover { border-color: var(--sonub-accent); }
/* 그 자리 재생(inline) — 첫 장면 위 재생 단추, 누르면 단추가 사라지고 영상의 조작 막대로 재생한다(SSOT 13절) */
.admin-teacher-video-inline { position: relative; overflow: hidden; border: 1px solid var(--wa-color-surface-border); border-radius: var(--sonub-radius-control); background: #000; }
.admin-teacher-video-inline video { display: block; inline-size: 100%; block-size: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
.admin-teacher-video-start { position: absolute; inset: 0; display: grid; inline-size: 100%; block-size: 100%; place-content: center; padding: 0; border: 0; background: color-mix(in srgb, #000 18%, transparent); color: inherit; cursor: pointer; }
.admin-teacher-video-start .fa-play { box-sizing: border-box; display: grid; place-content: center; inline-size: 3.5rem; block-size: 3.5rem; padding-inline-start: .2em; border: 3px solid #fff; border-radius: 50%; background: var(--wa-color-brand-fill-loud); color: var(--wa-color-brand-on-loud); font-size: calc(1.25rem * var(--wa-font-size-scale, 1)); box-shadow: var(--wa-shadow-m); transition: transform var(--wa-transition-fast, 150ms); }
.admin-teacher-video-start:hover .fa-play { transform: scale(1.08); }
.admin-teacher-video-start:focus-visible { outline: 2px solid var(--sonub-accent); outline-offset: -4px; }
@media (prefers-reduced-motion: reduce) { .admin-teacher-video-start .fa-play { transition: none; } }
.admin-teacher-video-dialog { --width: 56rem; }
.admin-teacher-video-dialog:not(:defined) { display: none; }
.admin-teacher-video-dialog video { display: block; inline-size: 100%; max-inline-size: none; aspect-ratio: 16 / 9; max-block-size: 70dvh; object-fit: contain; }   /* 사이트 app.css 의 .teacher-video 36rem 제한을 창 안에서는 푼다 */
/* 관리자 YouTube 소개 영상 — 그 자리에서 바로 재생(SSOT 2·3절). */
.admin-teacher-youtube { display: grid; gap: var(--wa-space-2xs); inline-size: min(100%, 28rem); }
.admin-teacher-youtube-player { display: block; inline-size: 100%; aspect-ratio: 16 / 9; block-size: auto; border: 0; border-radius: var(--sonub-radius-control); background: var(--wa-color-surface-lowered); }
.admin-teacher-youtube-link { overflow-wrap: anywhere; font-size: var(--wa-font-size-s); color: var(--wa-color-brand-on-quiet); text-decoration: underline; }
