:root { --plyr-color-main: #00b3ff; --plyr-video-background: #000; --plyr-menu-background: rgba(0, 0, 0, 0.9); --plyr-menu-color: #fff; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', sans-serif; background: #0f0f0f; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; } .player-wrapper { width: 100%; max-width: 1280px; margin: 20px; background: #000; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); position: relative; } .plyr { width: 100%; height: 100%; } .plyr--video { height: auto; aspect-ratio: 16/9; } .loading { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.9); display: flex; justify-content: center; align-items: center; z-index: 100; } .loading-spinner { width: 50px; height: 50px; border: 3px solid transparent; border-top-color: #00b3ff; border-radius: 50%; animation: spin 1s linear infinite; } .error-message { display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(220, 53, 69, 0.9); padding: 12px 20px; border-radius: 4px; color: white; z-index: 100; text-align: center; max-width: 80%; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .watermark { position: absolute; top: 10px; left: 10px; width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; font-size: 12px; color: white; background: rgba(0, 0, 0, 0.6); border-radius: 50%; pointer-events: none; z-index: 10; overflow: hidden; } .watermark img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; } .live-indicator { position: absolute; top: 12px; right: 12px; background: rgba(0, 0, 0, 0.85); color: white; font-weight: 500; font-size: 13px; padding: 8px 12px; border-radius: 6px; z-index: 20; display: flex; align-items: center; gap: 8px; font-family: 'Inter', sans-serif; border: 1px solid rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); } .live-indicator .live-dot { width: 8px; height: 8px; background: #ff4444; border-radius: 50%; animation: pulse 2s infinite; } .live-indicator .person-icon { width: 14px; height: 14px; margin-right: 2px; fill: currentColor; } .floating-watermark { position: absolute; font-size: 16px; font-weight: bold; color: rgba(255, 255, 255, 0.25); pointer-events: none; z-index: 30; white-space: nowrap; animation: moveWatermark 15s linear infinite; } @keyframes pulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.7; } 100% { transform: scale(1); opacity: 1; } } @keyframes moveWatermark { 0% { top: 10%; left: 5%; } 25% { top: 30%; left: 70%; } 50% { top: 60%; left: 30%; } 75% { top: 80%; left: 80%; } 100% { top: 10%; left: 5%; } }