.sidebar {
    position: fixed; /* 고정 위치 */
    top: 10px;
    left: 10px;
    z-index: 1000;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
    width: 150px; /* 사이드바 너비 */
    padding: 10px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar li {
    margin: 10px 0;
}

.sidebar a {
    text-decoration: none;
    color: #333;
    font-size: 16px;
}

.sidebar a.active {
    background-color: #007bff;
    color: white;
    padding: 5px 10px;
    border-radius: 3px;
}

/* .sidebar a:hover { */
/*     color: #007bff; */
/* } */

/* #controls 위치 조정 */
.controls {
    left: 180px; /* 사이드바 너비(150px) + 여백(30px) */
    display: none;
}

.buttons-wrap {
    display: none;
    left: 180px;
}

/* 기존 UI 초기 숨김 */
.buttons-wrap-bottom, #helper, .wrap, #resultTable, #legendContainer{
    display: none;
}

button {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 5px;
/*     background-color: #f0f0f0; */
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.2s ease;
}

label{
    background-color: white;
    padding: 10px;
}

.controls {
    position: absolute;
    top: 10px;
/*     left: 10px; */
    z-index: 100;
    background: rgba(255, 255, 255, 0.9);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
/*     display: flex; */
    flex-direction: column;
    gap: 10px;
}
.control-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/* .wrap.transformer{ */
/*     position: fixed; */
/*     right: 20px; */
/*     top: 40%; */
/*     transform: translateY(-50%); */
/*     padding: 10px 20px; */
/*     background-color: #f0f0f0; */
/*     border: 1px solid #ccc; */
/*     border-radius: 5px; */
/*     cursor: pointer; */
/*     z-index: 1000; */
/* } */

#right-controls {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: rgba(255, 255, 255, 0.9);
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

.toggle-button {
/*     position: fixed; */
/*     right: 20px; */
/*     top: 50%; */
/*     transform: translateY(-50%); */
    padding: 10px 20px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer;
/*     z-index: 1000; */
}
.toggle-button.active {
    background-color: #0078d7;
    color: white;
}


/* 카메라 정보 박스 스타일 (좌측 하단) */
#cameraInfoBox {
    position: fixed;
    bottom: 10px;
    left: 10px;
    background: rgba(255, 255, 255, 0.9);
    padding: 10px;
    border-radius: 5px;
    font-size: 12px;
    max-width: 250px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

#cameraInfoBox h3 {
    margin: 0 0 5px;
    font-size: 14px;
}

#cameraInfoDisplay {
    white-space: pre-wrap;
}