/* ---------- TEACHER PLAYER STYLING ---------- */ body { font-family: Arial, sans-serif; background-color: #f0f0f0; } video.show-controls::-webkit-media-controls { display: block; } video.hide-controls::-webkit-media-controls { display: none; } .video-container { position: relative; width: 80%; max-width: 900px; margin: 20px auto; background-color: #000; border-radius: 10px; overflow: hidden; } .video-js { width: 100%; height: auto; display: block; } #button { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); padding: 10px 20px; background-color: #A8E1FF; color: #93278f; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; z-index: 20; } /* Fullscreen button hover effect */ #button:hover { background-color: #7ECFFF; } /* Overlay controls */ .overlay-controls { opacity: 0.75; transition: opacity 0.3s ease; position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); z-index: 15; display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; } .overlay-controls:hover { opacity: 1; } .overlay-controls button { padding: 8px 12px; background-color: rgba(168, 225, 255, 0.9); color: #93278f; border: none; border-radius: 3px; cursor: pointer; font-size: 14px; font-weight: bold; } /* Native fullscreen (desktop only) */ .video-container:fullscreen, .video-container:-webkit-full-screen, .video-container:-moz-full-screen, .video-container:-ms-fullscreen { width: 100vw; height: 100vh; background-color: #000; border-radius: 0; } .video-container:fullscreen video, .video-container:-webkit-full-screen video, .video-container:-moz-full-screen video, .video-container:-ms-fullscreen video { width: auto; height: auto; max-width: 100vw; max-height: 100vh; } /* ---------- MOS CHAT PANEL ---------- */ .mos-chat { position: fixed; top: 12px; left: 12px; width: 320px; height: 200px; min-width: 220px; min-height: 140px; max-width: 90vw; max-height: 85vh; background: rgba(255,255,255,0.96); border: 1px solid rgba(0,0,0,0.12); border-radius: 8px; box-shadow: 0 8px 28px rgba(0,0,0,0.28); overflow: auto; z-index: 999999; display: flex; flex-direction: column; resize: both; user-select: none; touch-action: none; } .mos-chat-header { display: flex; align-items: center; gap: 8px; padding: 6px 8px; background: linear-gradient(180deg,#f7f9fb,#e9f3ff); border-bottom: 1px solid rgba(0,0,0,0.06); cursor: grab; } .mos-chat-header:active { cursor: grabbing; } .mos-chat-body { flex: 1 1 auto; padding: 6px; min-height: 0; } .mos-jitsi-placeholder { width: 100%; height: 100%; min-height: 80px; background: #000; } .mos-jitsi-placeholder iframe { width: 100%; height: 100%; border: 0; } #mos-reset, #mos-toggle-size, #mos-hide { background: transparent; border: none; cursor: pointer; font-size: 14px; padding: 2px 6px; } .mos-chat[data-mos-hidden="1"] { display: none !important; } .mos-show { position: fixed; bottom: 20px; right: 20px; z-index: 1000000; background: rgba(168, 225, 255, 0.98); color: #93278f; border: none; border-radius: 28px; width: 48px; height: 48px; font-size: 22px; line-height: 48px; text-align: center; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,0.22); display: none; } .video-container .mos-show { position: absolute; bottom: 20px; right: 20px; display: block; } .mos-show:focus, #mos-hide:focus, #mos-toggle-size:focus, #mos-reset:focus { outline: 2px solid rgba(147,39,159,0.6); outline-offset: 2px; } /* ========== PSEUDO FULLSCREEN (all devices except iOS) ========== */ #videoContainer.mos-pseudo-fullscreen { position: fixed !important; left: 0 !important; top: 0 !important; min-width: 100vw !important; min-height: 100vh !important; width: 100vw !important; height: 100vh !important; margin: 0 !important; padding: 0 !important; z-index: 2147483646 !important; background: black !important; display: block !important; } #videoContainer.mos-pseudo-fullscreen .video-js, #videoContainer.mos-pseudo-fullscreen .vjs-tech, #videoContainer.mos-pseudo-fullscreen video { position: absolute !important; left: 50% !important; top: 50% !important; width: 100% !important; height: 100% !important; object-fit: contain !important; transform: translate(-50%, -50%) !important; } #videoContainer.mos-pseudo-fullscreen .overlay-controls { position: absolute; bottom: 55px; left: 50% !important; transform: translateX(-50%) !important; display: flex; gap: 6px; justify-content: center; z-index: 2147483647; } #videoContainer.mos-pseudo-fullscreen .mos-show, #videoContainer.mos-pseudo-fullscreen > .mos-show { position: absolute !important; right: 10px !important; top: 10px !important; z-index: 2147483647 !important; display: block !important; } #mos-chat { z-index: 2147483647; } .video-js.hide-controls, #videoContainer.mos-pseudo-fullscreen .video-js.hide-controls { cursor: none; }