/*
 *
 *
 *  전체 복사하여 덮어쓰기식으로 배포 하지 말것
 *
 *
 *
 *
 *
*/
.container {max-width:100%;margin:auto;text-align:center;background:white;border-radius:8px;padding:20px;box-shadow:0 0 10px rgba(0,0,0,0.1);}
#edit-content-btn, #retranslate-btn {opacity:0.5;transition:opacity 0.3s ease;}
.language-selection {display:flex;align-items:center;}
.language-select {position:relative;display: flex;margin-right: 10px;align-items: center;}
.language-select .selected {border:1px solid #ccc;padding: 5px 10px;border-radius:4px;cursor:pointer;background-color:#fff;width: 100px;text-align: left;position: relative;}
.language-select div.selected::after{content:"";background:#fff url(../images/sub_layout_06.gif) no-repeat center center;position: absolute;right: 10px;top:calc(50% - 2px);width: 7px;height:4px;}
.language-select div.selected.on::after{transform: rotate(180deg);}
.language-select .options {position:absolute;top:100%;left: 80px;right:0;border:1px solid #ccc;border-radius:4px;background-color:#fff;display:none;z-index:1000;max-height:200px;overflow-y:auto;width: calc(100% - 80px);box-sizing: border-box;padding-left: 0; margin: 0;}
.language-select .options li {padding:10px;cursor:pointer;transition:0.3s;box-sizing:border-box;list-style:none;text-align: left;}
.language-select .options li:hover {background-color:#f0f0f0;}
.language-select .options li:hover,.options li.selected-option {background-color:#0f63bd;color: #fff;}
.language-select .options li.selected-option {background: #007bff url(../images/yes.png) no-repeat right center;color: #fff; background-size: 30px ;}
.language-select > span{display:inline-block;width:80px;}

#upload-area {border:2px dashed #8bc34a;padding:20px;border-radius:8px;background-color:#f1f1f1;margin-bottom:20px;position: relative;height: 200px;display: flex;align-items: center;justify-content: center;}
#upload-area #fileElem{position: absolute;left: 0;top:0;width:100%;height: 100% !important;opacity: 0;}
#upload-button {background:#2196F3 url(../images/imgup.png) no-repeat center 10px;color:white;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;padding-top: 60px;background-size: 50px;}
.textarea {width:100%;height:200px;margin-bottom:20px;padding:10px;border:1px solid #ccc;border-radius:5px;resize:none;margin-top:20px;}
#switchLangBtn {font-size: 20px;color: #fff;border:none;padding:8px 30px;border-radius:5px;cursor:pointer;transition:0.3s;background: #007BFF;}
#switchLangBtn i{font-style: normal;transform: rotate(90deg);display: inline-block;}
#switchLangBtn:hover {background:#0f63bd;}
#result-container{display:flex;/* gap:20px; */align-items: flex-start;flex-direction: row !important;justify-content: space-between;margin-left: -20px;margin-top:20px;}
#result-container > div{width:calc(50% - 20px);margin-left: 20px;}
#result-container .control-btns{/* margin-top: 20px; */}
#result-container .control-btns a{display: inline-block;background-color: #007bff;color: white;border: none;border-radius: 4px;cursor: pointer;margin-left: 5px;letter-spacing: -1px;height: 25px;line-height: 25px;padding: 0 10px;font-size: 12px;}
#image-preview-container, #translated-image-container{display: flex;justify-content: center;align-items: center;height: 300px;box-shadow: 0 0 2px #007BFF;border-radius: 5px;position:relative;}
#image-preview-container::before, #translated-image-container::before {content:'';position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;background:linear-gradient(45deg, #ffffff, #f5edea, #f9edf6, #d1e3ff, #f5d8ed, #ffe8e1, #efeaea);background-size:200% 200%;animation:gradientAnimation 5s ease infinite;border-radius:10px;}
@keyframes gradientAnimation {0% {background-position:0% 50%;}
50% {background-position:100% 50%;}
100% {background-position:0% 50%;}
}
#image-preview, #translated-image{max-height: 300px;position:relative;z-index:5;}
#recognition-progress {width: 90%;  height: 20px;  margin-top: 10px;  position:absolute;left:5%;bottom:5px;transition:0.3s;}  
#url-input-area {display:flex;flex-wrap: wrap;align-items:center;justify-content:center;/* margin-bottom:20px; */gap: 10px 0px;font-size: 14px;}
#webpageUrl {width: 16%;padding: 5px 10px;border:1px solid #ccc;border-radius:4px;margin-left:10px;margin-right:10px;font-size: 14px;}
#fetchPageBtn {padding: 5px 20px;background-color:#007BFF;color:white;border:none;border-radius:4px;cursor:pointer;transition:0.3s;font-size: 14px;}
#fetchPageBtn:hover {background-color:#0f63bd;}
#webpage-content,#translated-content {width:100%;height:400px;overflow-y:auto;border:1px solid #ccc;border-radius:4px;padding:10px;margin-bottom:20px;background-color:#fff;}
#webpage-view {width:100%;}
#translation-result {width:50%;display:none;}
#compareBtn {padding: 5px 20px;background-color:#28a745;color:white;border:none;border-radius:4px;cursor:pointer;margin-left:10px;}
#compareBtn:hover {background-color:#218838;}
button:disabled {background-color:#cccccc !important;color:#666666 !important;cursor:not-allowed !important;opacity:0.7;}
#translatePageBtn {padding: 5px 20px;background-color:#007bff;color:white;border:none;border-radius:4px;cursor:pointer;margin-right: 0px;font-size: 14px;}
#translatePageBtn:hover:not(:disabled) {background-color:#0056b3;}
#compareBtn {padding: 5px 20px;background-color:#28a745;color:white;border:none;border-radius:4px;cursor:pointer;margin-left:10px;font-size: 14px;}
#compareBtn:hover:not(:disabled) {background-color:#218838;}
#progress-bar-container {margin-top:20px;width:100%;background-color:#f1f1f1;border-radius:4px;overflow:hidden;margin-bottom: 10px;}
#progress-bar {height:20px;background-color:#518f53;transition:width 0.3s ease;}
.progress-bar-wrap{flex:1 1 auto;}

.control-btn{display: flex;flex: 0 0 auto;justify-content: center;}
#refreshLink{display: flex;align-items: center;gap: 5px;margin-left: 10px;font-size: 14px;}

.td-btns{align-items: flex-start;justify-content: space-between;display: flex;margin-top: 20px;}
.td-btns button{flex: 0 0 auto;font-size: 14px;color: #fff;border: none;padding: 8px 15px;border-radius: 5px;cursor: pointer;transition: 0.3s;background: #007BFF;display: flex;justify-content: center;align-items: center;height: 36px;}
.td-btns button:hover {background:#0f63bd;}
.td-btns button img{width: 17px;/* margin-right:4px; */}
.td-btns button.copy-btn{background:none;}
.td-btns button.copy-btn img{width:auto;}
.copy-btn img{width: 25px !important;height: 25px !important;max-width: none;}
.translate-btn, .speak-btn, .copy-btn, .stop-btn{padding:0 16px !important;width: 25px !important;height: 25px !important;justify-content: center;display: flex;align-items: center;white-space: nowrap;}
.cthis.speak-btn{margin: 0 auto;}
.translate-btn img, .speak-btn img, .stop-btn img{width: 16px !important;height: 16px !important;max-width: none;}

.button-group {/* position:absolute; */bottom:16px;left:10px;display:flex;gap:5px;font-size: 12px;}
.volume-control{display:flex;align-items:center;gap:5px;}
.volume-icon{width:20px!important;height:20px!important;filter:invert(50%);}
.volume-toast{position:fixed;bottom:30px;right:30px;padding:12px 24px;background:rgba(0,123,255,.9);color:#fff;border-radius:25px;box-shadow:0 4px 15px rgba(0,0,0,.2);font-family:Arial,sans-serif;font-size:16px;opacity:0;animation:fadeInOut 1s ease;z-index:1000;}
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(20px); }
20% { opacity: 1; transform: translateY(0); }
80% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-20px); }
}
@media screen and (max-width: 768px){
	.language-selection{width: 100%;justify-content: center;flex-wrap: wrap;}
	.control-btn{/*margin: 10px 0;*/}
	.language-select{margin-right:10px;width: calc(50% - 10px);margin-bottom: 10px;}
	.language-select .selected{width:calc(100% - 62px);}
	.language-select > span{width: 62px;}
	#translatePageBtn{margin-right:0;padding:5px 10px;}
	#compareBtn{padding:5px 10px;}
	.language-select .options{left:60px;width: calc(100% - 60px);}
	#webpageUrl{width:32%;}

	#result-container{flex-direction:column !important;margin-left: 0;}
	#result-container > div{margin-left:0;}
	.translation-result{margin-top:20px;}
	.td-btns{flex-direction:column;}
	#result-container .control-btns{margin-top:10px;}
	#result-container .control-btns a{margin-left:0;margin-right:5px;}
}

#global-edit-message{display:none;position:fixed;top:10px;left:50%;transform:translateX(-50%);background:rgba(0,123,255,0.9);color:#fff;padding:10px 20px;border-radius:5px;z-index:99999;font-weight:bold;}
/* 모달 배경 */
.custom-modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	align-items: center;
	justify-content: center;
}

/* 모달 박스 */
.custom-modal-box {
	background: #fff;
	padding: 25px 30px;
	border-radius: 12px;
	max-width: 640px;
	width: 90%;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

/* 제목 */
.custom-modal-title {
	color: #d32f2f;
	margin-top: 0;
	margin-bottom: 15px;
	font-weight: 700;
	font-size: 1.5rem;
	border-bottom: 2px solid #d32f2f;
	padding-bottom: 8px;
}

/* 내용 영역 */
.custom-modal-content {
	max-height: 320px;
	overflow-y: auto;
	white-space: pre-wrap;
	font-size: 14px;
	color: #333;
	margin-bottom: 25px;
	line-height: 1.4;
	text-align: left;
}

/* 버튼 영역 */
.custom-modal-actions {
	text-align: right;
}

/* 버튼 공통 스타일 */
.custom-modal-btn {
	padding: 8px 18px;
	font-size: 14px;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

/* 취소 버튼 */
.custom-modal-btn.cancel {
	background: #bbb;
	color: #444;
	margin-right: 12px;
}

/* 확인 버튼 */
.custom-modal-btn.confirm {
	background: #d32f2f;
	color: #fff;
}


/* TTS 관련 스타일 */
.spinner {
	display: inline-block;
	width: 12px;
	height: 12px;
	/* margin-right: 6px; */
	border: 2px solid #fff;
	border-top: 2px solid #999;
	border-radius: 50%;
	animation: spin .8s linear infinite;
	vertical-align: middle;
}

@keyframes spin {
	0% { transform: rotate(0); }
	100% { transform: rotate(360deg); }
}

.volume-toast {
	position: fixed;
	bottom: 30px;
	right: 30px;
	padding: 12px 24px;
	background: rgba(0, 123, 255, 0.9);
	color: #fff;
	border-radius: 25px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
	font-size: 16px;
	opacity: 0;
	animation: fadeInOut 1s ease;
	z-index: 1000;
}

@keyframes fadeInOut {
	0% { opacity: 0; transform: translateY(20px); }
	20%, 80% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(-20px); }
}

.state-loading img {
	display: none !important;
}

.iframe{margin-top:30px;}