#log { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 90vw; max-height: 50vh; overflow-y: auto; background: rgba(0, 0, 0, 0.7); color: white; padding: 10px; border-radius: 10px; z-index: 15; text-align: left; font-size: 14px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
html, body { height: 100%; margin: 0; padding: 0; }
body { font-family: sans-serif; background-color: black; }
#bg { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; object-fit: contain; background-color: black; z-index: -1; }
#retryBtn, #micButton { position: fixed; bottom: 40px; right: 40px; z-index: 10; }
#spinner { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 40px; height: 40px; border: 4px solid #fff; border-top: 4px solid #3b82f6; border-radius: 50%; animation: spin 1s linear infinite; z-index: 20; }
@keyframes spin { 0% { transform: translate(-50%, -50%) rotate(0deg); } 100% { transform: translate(-50%, -50%) rotate(360deg); } }
#retryCounter { position: fixed; top: 10px; right: 10px; font-size: 18px; color: white; background: rgba(0, 0, 0, 0.6); padding: 5px 10px; border-radius: 5px; z-index: 30; }
#voicePulse { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100px; height: 100px; border-radius: 50%; background: rgba(59, 130, 246, 0.6); animation: pulse 1.2s infinite; z-index: 100; display: none; }
@keyframes pulse { 0% { transform: translate(-50%, -50%) scale(1); opacity: 0.9; } 50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.6; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.9; } }
#langDisplay { position:fixed; bottom:20px; left:20px; width:50px; height:50px; background:none; font-size:28px; border-radius:50%; display:flex; justify-content:center; align-items:center; z-index:1000; }
#micAccessMsg { display:none; position:fixed; top:20px; left:50%; transform:translateX(-50%); background:rgba(255,0,0,0.8); color:white; padding:10px 20px; border-radius:8px; font-size:16px; z-index:1000; }