body { font-family: Arial, sans-serif; margin: 0; padding: 20px; background-color: #f0f0f0; } .container { max-width: 1000px; margin: 0 auto; background-color: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } h1 { color: #333; text-align: center; } .video-container { margin: 20px 0; text-align: center; position: relative; } video { max-width: 100%; border: 1px solid #ddd; border-radius: 4px; } canvas { position: absolute; left: 0; top: 0; max-width: 100%; } button { background-color: #4CAF50; border: none; color: white; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 10px 5px; cursor: pointer; border-radius: 4px; } button:hover { background-color: #45a049; } button:disabled { background-color: #cccccc; cursor: not-allowed; } .controls { text-align: center; margin-bottom: 20px; } .status { text-align: center; color: #666; margin: 10px 0; font-style: italic; } .detection-info { margin-top: 20px; padding: 10px; border: 1px solid #ddd; border-radius: 4px; max-height: 200px; overflow-y: auto; } .fps-counter { position: absolute; top: 10px; right: 10px; background-color: rgba(0,0,0,0.5); color: white; padding: 5px; border-radius: 3px; font-size: 12px; } .alarm { background-color: #ff0000; color: white; padding: 15px; margin-top: 10px; text-align: center; font-weight: bold; font-size: 18px; border-radius: 4px; display: none; } @keyframes alarm-flash { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } } .alarm-active { display: block; animation: alarm-flash 1s infinite; }