    /* translate 페이지 전용 레이아웃 */
    .chat_body {
        margin: 0 auto; 
        padding: 10px;
        padding-top: 110px; /* topbar 높이(95px) + 여유 공간 */
        padding-bottom: 200px; /* bottom-controls를 위한 하단 여백 */
        min-height: 100vh; /* 최소 높이 확보 */
    }
    .chat_main {display:block; width:100%; max-width: 500px; margin: 0 auto; padding: 10px;}
    .div_table {padding:10px}
    .div_table table {width:100%; background:#777; padding:2px 15px; margin: 0; border-radius: 7px;}
     .div_table p {color:white; font-size: 1em; text-align: center;}
     
     /* 메시지 텍스트 라인 간격 설정 */
     .messageAi2, .messageHuman2, .messageInfo2 {
         line-height: 1.5;
         padding: 5px 10px;
         margin: 3px 0;
         word-wrap: break-word;
         white-space: pre-wrap;
     }
   /* .table_profile {display: flex; width:45px; height:45px;}
    .table_profile img {object-fit: cover; background: white; border-radius:50%; margin-top: 3px;} */

    /* 상단 컨트롤 패널 스타일 */
    .control-panel {
        background: #333;
        padding: 10px;
        margin: 10px 0;
        border-radius: 8px;
    }
    
    .control-row {
        margin-bottom: 7px;
    }
    
    .control-row:last-child {
        margin-bottom: 0;
    }
    
    /* 그라이데이션 슬라이더 스타일 */
    .gradient-slider-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding: 10px 0;
    }
    
    .slider-label {
        color: white;
        font-weight: bold;
        font-size: 16px;
        margin-bottom: 10px;
        text-align: center;
    }
    
    .gradient-slider {
        position: relative;
        width: 100%;
        max-width: 300px;
        height: 40px;
        display: flex;
        align-items: center;
    }
    
    .slider-track {
        position: relative;
        width: 100%;
        height: 8px;
        background: linear-gradient(to right, #ff6b6b, #ffd93d, #6bcf7f);
        border-radius: 4px;
        cursor: pointer;
        box-shadow: inset 0 2px 4px rgba(0,0,0,0.3);
    }
    
    .slider-track::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        height: 2px;
        background: repeating-linear-gradient(
            to right,
            transparent 0,
            transparent calc(100% / 6 - 1px),
            rgba(255,255,255,0.3) calc(100% / 6 - 1px),
            rgba(255,255,255,0.3) calc(100% / 6)
        );
        transform: translateY(-50%);
    }
    
    .slider-fill {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        background: linear-gradient(to right, #ff6b6b, #ffd93d, #6bcf7f);
        border-radius: 4px;
        transition: width 0.1s ease;
    }
    
    .slider-thumb {
        position: absolute;
        top: 50%;
        width: 20px;
        height: 20px;
        background: white;
        border: 3px solid #333;
        border-radius: 50%;
        transform: translate(-50%, -50%);
        cursor: grab;
        box-shadow: 0 2px 6px rgba(0,0,0,0.3);
        transition: all 0.1s ease;
    }
    
    .slider-thumb:hover {
        transform: translate(-50%, -50%) scale(1.1);
        box-shadow: 0 4px 8px rgba(0,0,0,0.4);
    }
    
    .slider-thumb:active {
        cursor: grabbing;
        transform: translate(-50%, -50%) scale(1.2);
    }
    
    
    /* 볼륨 슬라이더는 다른 그라이데이션 */
    #volume-slider .slider-track {
        background: linear-gradient(to right, #333, #666, #999, #ccc, #fff);
    }
    
    #volume-slider .slider-fill {
        background: linear-gradient(to right, #333, #666, #999, #ccc, #fff);
    }
    
    #volume-slider .slider-track::before {
        background: repeating-linear-gradient(
            to right,
            transparent 0,
            transparent calc(100% / 6 - 1px),
            rgba(0,0,0,0.3) calc(100% / 6 - 1px),
            rgba(0,0,0,0.3) calc(100% / 6)
        );
    }
    
    /* 하단 컨트롤 영역 스타일 */
    .bottom-controls {
        background: #111;
        padding: 15px;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50; /* topbar(77)와 헤더 버튼들(998, 999)보다 낮게 설정 */
    }
    
    .bottom-row {
        margin-bottom: 10px;
        max-width: 500px;
        margin: 0 auto;
    }
    
    .bottom-row:last-child {
        margin-bottom: 0;
    }
    
    .language-controls {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
    }
    
    .language-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        flex: 1;
    }
    .language-group select {
        background: var(--input-bg);
        color: var(--text-primary);
    }
    
    .language-group label {
        color: white;
        font-size: 12px;
        font-weight: bold;
    }
    
    .language-select {
        width: 100%;
        padding: 8px;
        border-radius: 5px;
        border: 1px solid var(--input-border);
        background: var(--input-bg);
        color: var(--text-primary);
        font-size: 14px;
    }
    
    .language-select option {
        background: var(--input-bg);
        color: var(--text-primary);
    }
    
    .translate-btn {
        background: #007bff;
        color: white;
        border: none;
        width: 50px; height: 50px;
        border-radius: 25px;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 0 0 4px 3px;
        font-size: 25px;
        font-weight: bold;
        transition: background 0.3s;
    }
    
    .translate-btn:hover {
        background: #0056b3;
    }
    
    .input-controls {
        display: flex;
        gap: 10px;
        align-items: center;
    }
    .input-controls input {
        background: var(--input-bg);
        color: var(--text-primary);
        border: 1px solid var(--input-border);
    }
    
    .text-input {
        flex: 1;
        padding: 10px;
        border: 1px solid var(--input-border);
        border-radius: 8px;
        font-size: 16px;
        background: var(--input-bg);
        color: var(--text-primary);
    }
    
    .mic-button {
        background: none;
        border: none;
        padding: 12px;
        border-radius: 8px;
        margin-bottom: 3px;
        font-size: 35px;
        cursor: pointer;
        transition: background 0.3s;
    }
    
    .mic-button.active {
        background: #dc3545;
    }
    
    /* === 헤더 요소 정상 작동 보장 === */
    /* chat_body가 독립적으로 존재하므로 헤더 요소들이 정상 작동함 */