
.typing-cursor {
      display: inline-block;
      width: 10px;
      height: 1em;
      background-color: black;
      animation: blink 1s infinite;
      margin-left: 2px;
      vertical-align: middle;
    }
    @keyframes blink {
      50% { opacity: 0; }
    }

.markdown-content { padding: 10px 0; }

.segment-container {
    margin: 12px 0;
    overflow-x: auto;
}

/**default css*/
.segment-container img {
    max-width: 600px;
}

/*img { max-width: 100%; border-radius: 5px; }
*/

.markdown-content > * {
    margin: 0;
}
.markdown-content > * + * {
    margin-top: 10px;
}
.markdown-content li {
    list-style-type: none;
    margin-top: 10px;
}
.markdown-content p {
    margin-top: 10px;
}
.html-content > * {
    margin: 0;
}
/*children nodes*/
.html-content > * + * {
    margin-top: 10px;
}

.html-content li {
    list-style-type: none;
    margin-top: 10px;
}

.html-content p {
    margin-top: 10px;
}
/*Code Template*/
.code-container {
    width: 100%;   
}
.code-header {
    background-color: #f0f0f0;
    padding: 10px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e0e0e0;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border: none;
}

.code-block {
      background: white;
      border-radius: 5px;
      padding: 15px;
      border: 1px solid #e0e0e0;
/*      margin: 15px 0;
*/     
      overflow-x: auto;
}

.copy-button {
  border: none;
}


/*toolbar*/

        .agent-chat-conv-ai-toolbar {
            display: flex;
            justify-content: flex-start;
            margin-top: 20px;
        }
        
        .agent-chat-toolbar {
            display: flex;
            background-color: white;
            border-radius: 30px;
            padding: 8px;
/*            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            border: 1px solid #e0e0e0;*/
        }
        
        .agent-chat-toolbar-item {
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            margin: 0 5px;
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
        }
        
        .agent-chat-toolbar-item:hover {
            background-color: #f5f7fa;
            transform: translateY(-3px);
        }
        
        .agent-chat-toolbar-item:active {
            transform: translateY(1px);
        }
        
        .agent-chat-toolbar-item svg {
            width: 22px;
            height: 22px;
            transition: all 0.2s ease;
        }
        
        .agent-chat-toolbar-copy:hover svg {
            stroke: #3498db;
        }
        
        .agent-chat-toolbar-like:hover svg {
            stroke: #2ecc71;
        }
        
        .agent-chat-toolbar-dislike:hover svg {
            stroke: #e74c3c;
        }
        
        .agent-chat-toolbar-share:hover svg {
            stroke: #9b59b6;
        }
        
        .tooltip {
            position: absolute;
            top: -35px;
            background-color: #2c3e50;
            color: white;
            padding: 5px 10px;
            border-radius: 4px;
            font-size: 0.85rem;
            opacity: 0;
            transform: translateY(10px);
            transition: all 0.3s ease;
            pointer-events: none;
            white-space: nowrap;
        }
        
        .tooltip::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 50%;
            transform: translateX(-50%);
            border-width: 5px;
            border-style: solid;
            border-color: #2c3e50 transparent transparent transparent;
        }
        
        .agent-chat-toolbar-item:hover .tooltip {
            opacity: 1;
            transform: translateY(0);
        }
        

.response_url {
    color: #666;
    transition: all 0.3s ease;
}
        
/* 悬停效果 */
.response_url:hover {
    color: #333; 
    text-decoration: underline;
}
        
.response_url:active {
    color: #000; 
    transform: translateY(1px);
}
        
.response_url:visited {
    color: #888;
}



/** response types */
/** General Media*/
.media-container-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}
.message_media_display_wrapper {
}
.message_media_display {
    width: 100%; 
    max-height: 150px; 
    max-width: 150px;    
    /*small image center and don't scale*/
    object-fit: scale-down; 
    display: block;
    margin: 0 auto;
}


.message_media_display_large {
    width: 100%; 
    object-fit: scale-down; 
    display: block;
    margin: 0 auto;
}

/**image */
/*.image-container-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-column-gap: 30px;
}
.message_img_display {
    width: 100%; 
    max-height: 400px; 
}
*/
/*.video-container-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-column-gap: 30px;
}*/
/*.message_video_display_wrapper {
}
.message_video_display {
    width: 100%; 
    max-height: 400px; 
}*/
/*.audio-container-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    grid-column-gap: 30px;
}
.message_audio_display_wrapper {

}
.message_audio_display{
    width: 100%; 
    max-height: 400px; 
}*/

.iframe-container-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(300px, 1fr));
    grid-column-gap: 30px;
}

.iframe-fallback {
    display: none;
}

.message_iframe_display_wrapper {

}

.message_iframe_display {
    width: 100%; 
    height: 400px; 
    border: none;
}

.file-container-grid {
    display: grid;
    /*auto-fill create extra empty grid, auto-fit will fit the number of items*/
    grid-template-columns: repeat(auto-fit, minmax(64px, 64fr));
    grid-column-gap: 10px;
}

.message_file_display_wrapper {
    display: grid;
    grid-template-rows: 0.8fr 0.2fr;
    grid-row-gap: 5px;
}

.file_display_icon {
    width: 64px;
    height: 64px;
}

.file_display_icon_thumbnail {
    width: 32px;
    height: 32px;
}

.file_display_icon_inline {
    display: inline-block;
    vertical-align: middle;
}

.agent_display_icon {
    max-width: 30px;
    max-height: 30px;
    display: inline-block;
    vertical-align: middle;
}


.file-name {
    display: inline-block; 
    max-width: 64px;  
    overflow: hidden;    
    white-space: nowrap;
    text-overflow: ellipsis;
}

/*response href styles*/
.segment-container  a[href] {
  /* 基础样式 */
  color: #666;           
  text-decoration: none; 
  
/*  // background-image: url('path/to/your-icon.svg'); 
*/  
/*  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black"><path d="M10 6L8 6v12h2V6zm6 0h-2v12h2V6z"/></svg>');
*/  background-repeat: no-repeat;
  background-position: right center;
  padding-right: 20px; 
  
  /* 交互效果增强 */
  transition: color 0.3s ease;
}

/* 鼠标悬停效果 */
.segment-container  a[href]:hover {
  color: #333;          /* 悬停时加深文字颜色 */
  text-decoration: none; 
}



/*spreadsheet display*/
.table-display-section .toolbar {
    margin: 15px;
}

/*button {
    background-color: #3498db;
    color: white;
    border: none;
    padding: 10px 15px;
    margin-right: 10px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s;
}

button:hover {
    background-color: #2980b9;
}

button:disabled {
    background-color: #95a5a6;
    cursor: not-allowed;
}
*/

/*input[type="file"] {
    padding: 10px;
    margin-right: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
}
*/


.table-display-section .toolbar button {
    padding: 8px 12px;
    background-color: #10a37f;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.table-container {
    overflow-x: auto;
    overflow-y: auto;
    max-height: 100vh;
    max-width: 100%;
}

.table-container table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}


.table-container th, td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
}

.table-container th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.table-container tr:nth-child(even) {
    background-color: #f9f9f9;
}

.table-container td[contenteditable="true"] {
    background-color: #ffffcc;
}


.table-container td[contenteditable="true"]:focus {
    outline: 2px solid #3498db;
    background-color: #ffff99;
}

.notification {
    display: none;
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 20px;
    background-color: #2ecc71;
    color: white;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

.notification.error {
    background-color: #e74c3c;
}

.file-list-section table {
    width: 100%;
}

.file-list-section table button {
    margin: 2px;
    padding: 5px 10px;
    font-size: 12px;
}


/*multi tab message template*/
.tab-nav {
            display: flex;
            list-style-type: none;
            padding: 0;
            margin: 0;
            border-bottom: 1px solid #ccc;
            background-color: #f5f5f5;
}
        
.tab-button {
            flex: 1;
            padding: 12px 20px;
            text-align: center;
            cursor: pointer;
            background-color: #f1f1f1;
            border: none;
            border-right: 1px solid #ddd;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            transition: background-color 0.3s;
}
        
.tab-button:last-child {
            border-right: none;
}
        
.tab-button:hover {
            background-color: #e9e9e9;
}
        
.tab-button.active {
            background-color: #fff;
            border-bottom: 2px solid #007bff;
            font-weight: bold;
}
        
.avatar-icon {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            background-color: #007bff;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 12px;
}
        
.tab-content {
    display: none;
    padding: 20px;
    /*border: 1px solid #ccc;*/
    border-top: none;
    background-color: #fff;
}

.tab-content.active {
            display: block;
}

.agent-plan-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 500px;
    margin: 10px 0;
}

.agent-plan-card h2 {
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.agent-item {
            background: white;
            border-radius: 10px;
            box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
            padding: 5px;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            align-items: center;
            border-left: 4px solid #3498db;
            position: relative;
            overflow: hidden;
}

.agent-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.12);
}

.agent-item::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, rgba(52, 152, 219, 0.03) 0%, rgba(255, 255, 255, 0) 100%);
            z-index: 0;
}

.agent-icon {
            width: 45px;
            height: 45px;
            border-radius: 10px;
            object-fit: cover;
            margin-right: 20px;
            border: 2px solid #f0f0f0;
            flex-shrink: 0;
            z-index: 1;
}

.agent-content {
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
    justify-items: center;
}

.agent-name {
    font-size: 14px;
    font-weight: 600;
    color: #2c3e50;
    display: flex;
    justify-content: center;
    align-items: center;
}

.agent-class {
    font-size: 14px;
    color: #7f8c8d;
    margin-bottom: 8px;
}

.agent-description {
    font-size: 14px;
    color: #5a6c7d;
    line-height: 1.5;
    display: flex;
    justify-content: center;
}

.step-indicator {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 20px;
            height: 20px;
            background: #3498db;
            color: white;
            border-radius: 50%;
            font-weight: bold;
            margin-right: 15px;
            flex-shrink: 0;
            z-index: 1;
            font-size: 12px;
}

.url-section {
            background: #f8f9fa;
            border-radius: 6px;
            padding: 10px 15px;
            font-size: 12px;
            margin-top: 10px;
            word-break: break-all;
            line-height: 1.4;
}

.url-label {
            font-weight: 600;
            color: #7f8c8d;
            margin-bottom: 3px;
            display: block;
}

.url-value {
            color: #3498db;
}

