#ntwipcam-viewtalk-wp-root {
            width: 100%;
            margin: 0;
            padding: 2%;
            background: #111;
            color: #eee;
            font-family: Arial, sans-serif;
        }

        #ntwipcam-viewtalk-wp-root * {
            box-sizing: border-box;
        }

         #ntwipcam-viewtalk-wp-root .ntwipcam-vt-container {
             width: 100%;
             margin: 0 auto;
         }

         #ntwipcam-viewtalk-wp-root h1 {
             margin-top: 0;
         }

         #ntwipcam-viewtalk-wp-root .ntwipcam-vt-row {
             display: flex;
             flex-wrap: wrap;
             align-items: stretch;
             gap: 8px;
             margin-bottom: 15px;
         }

         #ntwipcam-viewtalk-wp-root input {
             flex: 1 1 0;
             min-width: 0;
             width: 100%;
             padding: 10px 12px;
             border: 1px solid #444;
             border-radius: 6px;
             background: #222;
             color: #fff;
             font-size: 14px;
         }

         #ntwipcam-viewtalk-wp-root button {
             flex: 0 0 auto;
             padding: 10px 18px;
             border: 0;
             border-radius: 6px;
             cursor: pointer;
         }

         #ntwipcam-viewtalk-wp-root button:disabled {
             opacity: .4;
             cursor: default;
         }

         #ntwipcam_vt_connectBtn {
             background: #fff;
             color: #111;
         }

         #ntwipcam_vt_disconnectBtn {
             background: #444;
             color: #fff;
         }

         #ntwipcam_vt_micBtn {
             background: #555;
             color: #fff;
         }

         #ntwipcam_vt_micBtn.active {
             background: #c62828;
         }

         #ntwipcam_vt_audioMode {
             flex: 1 1 180px;
             width: auto;
         }

         #ntwipcam_vt_pttBtn {
             background: #555;
             color: #fff;
             touch-action: none;
             user-select: none;
             -webkit-user-select: none;
         }

         #ntwipcam_vt_pttBtn.active {
             background: #c62828;
         }

         #ntwipcam_vt_speakerBtn {
             background: #555;
             color: #fff;
         }

         #ntwipcam-viewtalk-wp-root video {
             display: block;
             width: 100%;
             height: auto;
             aspect-ratio: 4 / 3;
             background: #000;
             object-fit: contain;
             border-radius: 8px;
         }

         #ntwipcam-viewtalk-wp-root .ntwipcam-vt-controls {
             display: flex;
             flex-wrap: wrap;
             align-items: stretch;
             gap: 8px;
             margin-top: 12px;
         }

         #ntwipcam_vt_status {
             margin-top: 15px;
             padding: 10px;
             background: #222;
             border-radius: 6px;
         }

         #ntwipcam-viewtalk-wp-root .ntwipcam-vt-debug-toggle {
             display: inline-flex;
             align-items: center;
             gap: 4px;
             margin-top: 8px;
             font-size: 12px;
             line-height: 16px;
             cursor: pointer;
             user-select: none;
             -webkit-user-select: none;
         }

         #ntwipcam-viewtalk-wp-root .ntwipcam-vt-debug-toggle input {
             width: auto;
             height: auto;
             margin: 0;
             padding: 0;
         }

         #ntwipcam_vt_log {
             display: none;
             margin-top: 6px;
             max-height: 40vh;
             overflow-y: auto;
             padding: 10px;
             background: #080808;
             border: 1px solid #222;
             border-radius: 6px;
             font: 12px monospace;
             white-space: pre-wrap;
         }

         #ntwipcam-viewtalk-9f3a .ntwipcam-vt-error {
             color: #ff6b6b;
         }

         #ntwipcam-viewtalk-9f3a .ntwipcam-vt-ok {
             color: #69d16f;
         }
