/* 녹음 팝업 */
	.demo_section {display:none;}
	.input_area {width:100%; padding:10px; margin:10px 0; border:1px solid #ccc; border-radius:5px;}
	.control_buttons {margin:15px 0;}
	.control_buttons button {margin:5px; padding:10px 15px; border:1px solid #ccc; border-radius:5px; cursor:pointer;}
	.status {padding:10px; margin:10px 0; border-radius:5px; display:none;}
	.status.info {background:#d1ecf1; color:#0c5460;}
	.status.success {background:#d4edda; color:#155724;}
	.status.error {background:#f8d7da; color:#721c24;}
	#video {width:100%; max-width:640px; height:auto; border:1px solid #ccc;}
	#videoContainer {margin:15px 0;}
	/* 음성 입력 UI 개선 */
	.voice_input_container {display:flex; flex-direction:column; align-items:center; padding:30px 20px; min-height:400px;}
	.mic_icon_wrapper {position:relative; display:flex; align-items:center; justify-content:center; margin:40px 0;}
	.mic_icon {width:120px; height:120px; border-radius:50%; background:linear-gradient(135deg, #45C5AD 0%, #3AA896 100%); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.3s ease; position:relative; z-index:2; box-shadow:0 4px 15px rgba(69, 197, 173, 0.4);}
	.mic_icon:hover {transform:scale(1.05); box-shadow:0 6px 20px rgba(69, 197, 173, 0.6);}
	.mic_icon:active {transform:scale(0.95);}
	.mic_icon svg {width:60px; height:60px; fill:white;}
	/* 파장 효과 */
	.wave_effect {position:absolute; width:120px; height:120px; border-radius:50%; top:50%; left:50%; transform:translate(-50%, -50%); pointer-events:none;}
	.wave_effect.active::before,.wave_effect.active::after {content:''; position:absolute; top:0; left:0; width:100%; height:100%; border-radius:50%; border:2px solid #45C5AD; opacity:0; animation:wave_pulse 2s ease-out infinite;}
	.wave_effect.active::after {animation-delay:1s;}
	@keyframes wave_pulse {0% {transform:scale(1); opacity:1;}50% {opacity:0.5;}100% {transform:scale(2.5); opacity:0;}}
	.voice_status_text {font-size:16px; color:#666; margin-top:20px; text-align:center; min-height:24px;}
	.voice_status_text.recording {color:#45C5AD; font-weight:600;}
	.voice_result_display {width:100%; max-width:500px; margin-top:30px;}
	.voice_result_display textarea {width:100%; min-height:120px; padding:15px; border:2px solid #e0e0e0; border-radius:10px; font-size:15px; resize:vertical; transition:border-color 0.3s;}
	.voice_result_display textarea:focus {outline:none; border-color:#45C5AD;}
	.voice_control_btn {margin-top:20px; padding:12px 40px; border:none; border-radius:25px; font-size:16px; font-weight:600; cursor:pointer; transition:all 0.3s; display:none;}
	.voice_control_btn.stop {background:#ff6b6b; color:white;}
	.voice_control_btn.stop:hover {background:#ff5252; transform:translateY(-2px); box-shadow:0 4px 12px rgba(255, 107, 107, 0.4);}
	.voice_control_btn.stop:active {transform:translateY(0);}
	.voice_control_btn.stop.visible {display:block;}
	/* 음성 입력 액션 버튼 */
	.voice_action_buttons {display:flex; gap:10px; margin-top:25px; width:100%; max-width:500px;}
	.voice_action_buttons button {flex:1; padding:14px 20px; border:none; border-radius:8px; font-size:16px; font-weight:600; cursor:pointer; transition:all 0.3s;}
	.voice_action_buttons .btn_retry {background:#f0f0f0; color:#333;}
	.voice_action_buttons .btn_retry:hover {background:#e0e0e0; transform:translateY(-2px); box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);}
	.voice_action_buttons .btn_register {background:#45C5AD; color:white;}
	.voice_action_buttons .btn_register:hover {background:#3AA896; transform:translateY(-2px); box-shadow:0 4px 12px rgba(69, 197, 173, 0.4);}
	.voice_action_buttons button:active {transform:translateY(0);}