.p_r { position: relative; } 
.evt_wrap { overflow: hidden; max-width: 750px; margin: 0 auto; } 
.hidden { display: none; } 

.counter p { position: absolute; bottom: 15%; left: 50%; transform: translatex(-50%); font-size: 3.5rem; font-weight: 700; width: 100%; text-align: center; } 

.main_btn{position:absolute;bottom:29%;left:50%;transform:translateX(-50%);width:69%;height:8%;}
.main_btn.v2{bottom:7%;width:76%}
.img06btn{position:absolute;bottom:19%;left:50%;transform:translateX(-50%);width:71%;height:10.5%;}

/* evt_add */
.evt_data { position: absolute; left: 0; top: 33vw; padding: 0 9%; width: 100%; } 
.evt_data li { font-size: 3.8vw; margin-bottom: 1vw; } 
.evt_data li::before { content: 'Β·'; display: inline; margin-right: 5px; } 

.popup_wrap { position:fixed; top:0; left:0; width: 100%; height: 100dvh; display: none; z-index:9999; } 
.popup_wrap * { box-sizing: border-box; } 
.popup_wrap.active { display:block; } 
.popup_wrap .bg { width: 100%; height: 100%; background: rgba(0,0,0,0.7); } 
.popup_wrap .popup_content { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); max-width: 750px; width: 100%; height: 100%; } 
.popup_wrap .pop_tit { display: flex; justify-content: space-between; align-items: center; padding: 15px; background: #333; } 
.popup_wrap .pop_tit h4 { font-size: 1.25rem; font-weight: 700; color: #fff; } 
.popup_wrap .pop_tit .close { width: 1.75rem; height: 1.75rem; display: block; cursor: pointer; position: relative; } 
.popup_wrap .pop_tit .close::before, .popup_wrap .pop_tit .close::after { content:''; position:absolute; width: 100%; height: 2px; background: #fff; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(45deg); } 
.popup_wrap .pop_tit .close::after { transform: translate(-50%,-50%) rotate(-45deg); } 
.popup_wrap .pop_inner { width: 100%; height: 100dvh; background: url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/bg.jpg') no-repeat center center; background-size: cover; padding: 5%; overflow-y: scroll; } 
.popup_wrap .pop_inner::-webkit-scrollbar { display: none; } 
.popup_wrap .pop_inner .title { text-align: center; width: 70%; margin: 7% auto 4%; } 
.popup_wrap .pop_inner .title img { width: 100%; } 
.test_full_area .test_full_tab { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 0 auto; display: none; } 
.test_full_area .test_full_tab.active { display: flex; } 
.test_full_area .test_full_tab li { width:50%; } 
.test_full_area .test_full_tab li a { display: block; width: 100%; color:#aaa; font-size: 3.5vw; font-weight: 500; padding: 5% 0; border-bottom: 2px solid #aaa; text-align: center; } 
.test_full_area .test_full_tab li a.active { color:#4c66d7; border-color:#4c66d7; font-weight: 700; } 

.content_wrap { display: none; padding-bottom: 10%; position: relative; } 
.content_wrap.active { display:block; } 
.content_wrap .content_container { width: 100%; background: #fff; padding: 5%; border-radius:3vw; margin: 5% auto; position:relative; height: auto; } 
.tab_t .marking_type_text { display:inline-block; font-weight:700; color:#333; } 
.list_title { font-size: 4.4vw; font-weight: 700; color: #333; margin-bottom: 5%; text-align: center; } 
.marking_turn_list { margin-top: 10px; list-style: none; padding: 0 5%; margin-left: 0; height: 300px; overflow-y: scroll; } 
.marking_turn_list::-webkit-scrollbar { display: block; width: 5px; height: 5px; background: #f8f9fd; border-radius: 10px; } 
.marking_turn_list::-webkit-scrollbar-thumb { background: #4c66d7; border-radius: 10px; } 
.marking_turn_item { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 5%; margin-bottom: 5%; border-radius: 2vw; border: 1px solid #e2e4ea; background: #f8f9fd; cursor: pointer; text-align: left; } 
.marking_turn_item span { display: inline-block; font-weight: 700; font-size: 3.5vw; } 
.marking_turn_item .turn_action { font-weight:500; color:#333; display:flex; align-items:center; justify-content:end; gap:7px } 
.marking_turn_item .turn_action i { display:inline-block; width: 1.8vw; height: 2.5vw; background:url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/arrow_b.png') no-repeat center center; background-size:100%; } 
.marking_turn_item:hover .turn_action i, .marking_turn_item.active .turn_action i { background: url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/arrow_w.png') no-repeat center center; background-size:100%; } 
.marking_turn_item:hover, .marking_turn_item.active { background: #4c66d7; } 
.marking_turn_item:hover span, .marking_turn_item.active span { color:#fff; } 
/* Grading Header */
.grading_header { text-align: center; position: relative; margin-bottom: 5%; } 
.result_title { font-size: 4.3vw; font-weight: 700; color: #333; text-align: center; } 

/* Grading Section Styles */
.grading_period_tabs { display: flex; border-bottom: 1px solid #e2e4ea; margin-bottom: 5%; } 
.grading_period_tabs li { flex: 1; text-align: center; } 
.grading_period_tabs li a { display: block; padding: 0 0 10% 0; font-weight: 600; color: #888 !important; border-bottom: 2px solid transparent; font-size: 3.3vw; } 
.grading_period_tabs li a.active { color: #333; border-bottom-color: #333; } 

.grading_content { display: none; } 
.grading_content.active { display: block; } 

.table_wrap { margin-top: 10px; height: 300px; overflow-y: scroll; } 
.table_wrap::-webkit-scrollbar { display:block; width: 5px; height: 5px; background: #f8f9fd; border-radius: 10px; } 
.table_wrap::-webkit-scrollbar-thumb { background: #4c66d7; border-radius: 10px; } 
.subject_title { font-size: 1.2rem; font-weight: 700; margin-bottom: 15px; text-align: center; color: #333; } 

.question_list_table { width: 76%; border-collapse: collapse; table-layout: fixed; margin: 0 auto; } 
.question_list_table th { width: 8vw; text-align: center; font-size: 3.8vw; color: #333; font-weight: 700; } 
.question_list_table td { padding: 10px 0; text-align: center; } 
.radio_group { display: flex; justify-content: center; gap: 10px; } 
.radio_group label { display: flex; align-items: center; justify-content: center; width: 8vw; height: 8vw; border-radius: 1.8vw; border: 1px solid #ddd; color: #666; font-size: 3.4vw; background: #fff; transition: all 0.2s; } 
.radio_group input[type="radio"] { display: none; } 
.radio_group input[type="radio"]:checked + label { background: #4c66d7; color: #fff; border-color: #4c66d7; font-weight: 700; } 


/* Result styles */
.result_score_box { text-align: center; margin-bottom: 25px; display: flex; align-items: center; justify-content: center; gap: 10px; } 
.badge_result { display: inline-block; padding: 1.5% 5%; border-radius: 2vw; font-weight: 700; font-size: 4.3vw; } 
.badge_result.pass { color: #4c66d7; border: 1px solid #4c66d7; box-shadow: 0 0 10px 0 rgba(76, 102, 215, 0.3); } 
.badge_result.fail { color: #ff4b4b; border: 1px solid #ff4b4b; box-shadow: 0 0 10px 0 rgba(255, 75, 75, 0.3); } 
.score_text { font-size: 4.5vw; font-weight: 600; color: #333; } 
.score_text strong { font-size: 4.5vw; font-weight: 800; color: #333; } 

.result_table { border: 1px solid #eee; border-radius: 15px; overflow: hidden; } 
.result_table table { width: 100%; border-collapse: collapse; } 
.result_table th { background: #f8f9fd; font-weight: 600; padding: 3% 0; border-bottom: 1px solid #eee; font-size: 3.2vw; color: #666; } 
.result_table td { padding: 3% 0; border-bottom: 1px solid #eee; font-size: 3.3vw; color: #333; vertical-align: middle; border-left: 1px solid #eee; text-align: center; } 
.result_table td strong { font-weight: 700; font-size: 3.5vw; color: #333; } 
.result_table td.fail_text { color: #ff4b4b; font-weight: 700; } 
.result_table td.pass_text { color: #4c66d7; font-weight: 700; } 

.cumulative_btn { width: 100%; background: #000 !important; color: #fff !important; margin: 0 auto; } 
.popup_btn { cursor: pointer; display: flex; padding: 4.4% 0; font-weight: 700; font-size: 4.2vw; border-radius: 3.3vw; align-items: center; justify-content: center; gap: 3%; position: relative; align-items: center !important; } 
.popup_btn::after { content: ''; display: block; width: 40px; height: 50px; background: url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/cursor.png') no-repeat center center; background-size: 100%; position: absolute; right: 10px; bottom: -20px; opacity: 1; } 
.popup_btn i { display:inline-block; width: 2.6vw; height: 3.3vw; background:url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/arrow.png') no-repeat center center; background-size:100%; } 

.grading_actions { text-align: center; display: flex; justify-content: space-between; width: 100%; margin: 0 auto; } 
.btn_temp_save { width: 49%; background: #333; color: #fff !important; } 
.btn_submit { width:100%; background: #4c66d7; color: #fff !important; } 
.result_bottom_btns { width: 100%; margin: 0 auto; display: flex; justify-content: space-between; } 
.result_bottom_btns a { width: 49%; } 
.btn_dark { background: #333; color: #fff !important; } 
.btn_blue { background: #4c66d7; color: #fff !important; } 

.result_links { width: 100%; margin: 5% auto 0; } 
.result_links a { display: flex; align-items: center; justify-content: space-between; width: 100%; background: #f2f4f7; border-radius: 10px; padding: 5% 5.3%; margin-bottom: 3.5%; color: #333 !important; font-weight: 700; text-align: left; position: relative; transition: all 0.2s; font-size: 3.2vw; gap: 7px; text-decoration: none; } 
.result_links a i { display:inline-block; width: 8px; height: 14px; background:url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/arrow_b.png') no-repeat center center; background-size:100%; } 
.btn_prev { position: absolute; left: 0; top: -21vw; transform: translateY(-50%); border: 1px solid #ccc; background: #fff; padding: 2% 5.3%; border-radius: 6vw; font-size: 3.2vw; color: #666 !important; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 5%; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3); width: 20vw; } 
.btn_prev i { display:inline-block; width:8px; height:14px; background:url('https://cdn.edu2080.co.kr/sabok/images/event/2020/0806/re_251127/arrow_b.png') no-repeat center center; background-size:100%; transform: rotate(180deg); } 

/* ? ?€?΅ κ²°κ³Ό ??Έ μΆκ?? */
#view_check_answer .sub_title { text-align: center; margin: 0 auto 10px; font-size: 1.25rem; } 
.answer_filter_box { text-align: center; margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 20px; } 
.answer_filter_box .radio_label { color: #333; font-weight: 500; font-size: 3.7vw; padding: 10px 15px; border: 1px solid #ddd; border-radius: 1.6vw; cursor: pointer; display: flex; justify-content: center; align-items: center; gap: 10px; width: 50%; } 
.answer_filter_box .radio_label i { display: block; width: 18px; height: 20px; border-radius: 50%; border: 1px solid #ddd; box-sizing: border-box; } 
.answer_filter_box .radio_label:has(input:checked) { border-color: #4c66d7; color: #4c66d7; font-weight: 700; } 
.answer_filter_box .radio_label:has(input:checked) i { border: 5px solid #4c66d7; } 
.answer_filter_box input { display: none; } 

.answer_result_wrap { padding: 0 2%; } 
.ans_item_row { display: flex; align-items: center; margin-bottom: 10px; } 
.ans_item_row th { width: 15%; font-size: 3.3vw; color: #333; font-weight: 700; text-align: center; padding-right: 5%; } 
.ans_item_row td { width: 85%; } 
.ans_bubbles { display: flex; justify-content: center; gap: 10px; } 
.ans_bubble { width: 8vw; height: 8vw; border-radius: 1.8vw; border: 1px solid #ddd; display: flex; align-items: center; justify-content: center; font-size: 3.4vw; color: #666; background: #fff; } 

/* ? ?΅/?€?΅ ?€????Ό */
/* ? ?΅?Ό κ²½μ°: λ¬Έμ λ²νΈ ?????, ? ?? ?΅(? ?΅) ???? λ°°κ²½ */
.ans_item_row.correct th { color: #4c66d7; } 
.ans_item_row.correct .ans_bubble.is-answer { background: #4c66d7; color: #fff; border-color: #4c66d7; font-weight: 700; } 

/* ?€?΅?Ό κ²½μ°: λ¬Έμ λ²νΈ λΉ¨κ°?, ?€?΅(? ?) ?? λ°°κ²½, ? ?΅ λΉ¨κ° λ°°κ²½ */
.ans_item_row.wrong th { color: #ff1414; } 
.ans_item_row.wrong .ans_bubble.is-selected { background: #eaeaea; color: #333; border-color: #eaeaea; } 
.ans_item_row.wrong .ans_bubble.is-answer { background: #ff1414; color: #fff; border-color: #ff1414; font-weight: 700; } 

/* ?€?΅λ§? λ³΄κΈ° ??°λ§μ© ?΄??€ (?¨κΉ?μ²λ¦¬) */
.ans_item_row.hide-correct { display: none; } 

/* μ·¨μ½?  λΆμ κ²°κ³Ό μΆκ?? */
#view_weak_analysis .sub_title { text-align: center; margin: 0 auto 2%; font-size: 4.3vw; } 
.chart_area_box { margin-bottom: 5%; } 
.chart_tit { font-size: 4.3vw; font-weight: 700; color: #333; margin-bottom: 2%; } 
.chart_container { width: 100%; height: 300px; border-radius: 3vw; display: flex; align-items: center; justify-content: center; } 
#weakChart { width: 100% !important; height: 100% !important; } 
.box_tit { font-size: 4.3vw; font-weight: 700; color: #333; margin-bottom: 2%; } 
.weak_list { padding: 5%; border-radius: 3vw; min-height: 100px; display: flex; flex-direction: column; gap: 2%; align-items: center; justify-content: center; } 
.weak_list.has-data { justify-content: flex-start; align-items: flex-start; } 

.weak_item { width: 100%; background: #fff; border-radius: 1.8vw; padding: 2% 5%; font-weight: 500; color: #333; display: flex; justify-content: space-between; align-items: center; font-size: 3.4vw; } 
.weak_item .w_rate { font-weight: 700; color: #ff1414; } 
.weak_item span:first-child { display: flex; align-items: center; gap: 10px; } 
.weak_item span:first-child::before { content: ''; display: block; width: 12px; height: 12px; background: #ffcdcd; border-radius: 3px; } 
.no_weak_point { color: #666; font-weight: 500; font-size: 1.05rem; } 

/* ??? ? ? λΆν¬? μΆκ?? */
#view_score_distribution .sub_title { text-align: center; margin: 0 auto 10px; font-size: 1.25rem; } 
.avg_score_box { margin-top: 30px; } 
.gauge_wrap { padding: 30px 10px 20px; position: relative; } 
.gauge_bar { width: 100%; height: 30px; background: linear-gradient(90deg, #e6e6e6 0%, #4c66d7 100%);; position: relative; } 
.gauge_scale { display: flex; justify-content: space-between; margin-top: 5px; font-size: 0.9rem; color: #666; font-weight: 500; } 
.pin { position: absolute; top: -28px; display: flex; flex-direction: column; align-items: center; width: 100px; margin-left: -50px; } 
.pin .pin_label { font-size: 0.9rem; font-weight: 700; color: #333; margin-bottom: 10px; white-space: nowrap; } 
.user_pin .pin_label { color: #4c66d7; } 
.avg_pin .pin_label { color: #333; } 

/* ??? ?  ?€????Ό */
.pin_dot { width: 12px; height: 12px; background: #fff; border: 2px solid #333; border-radius: 50%; position: relative; z-index: 2; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } 
.user_pin .pin_dot { border-color: #fff; background: #4c66d7; } 
.avg_pin .pin_dot { border-color: #fff; background: #333; margin-bottom: 10px; } 
.avg_pin { top: 15px; } 

/* ??  μ’ν© λΆμ κ²°κ³Ό μΆκ?? */
#view_cumulative_analysis .guide_txt { text-align: center; font-size: 4.3vw; color: #666; margin-bottom: 2%; } 
#view_cumulative_analysis .guide_txt .data_txt { font-weight: 700; color: #333; } 
#view_cumulative_analysis .avg_score_total_box { display: flex; align-items: baseline; justify-content: center; gap: 10px; margin-bottom: 15px; } 
#view_cumulative_analysis .avg_score_total_box .sub_tit { font-size: 4.3vw; font-weight: 700; color: #333; margin-bottom: 1%; border: none; padding: 0; } 
#view_cumulative_analysis .avg_score_total_box .score_val { font-size: 4.3vw; font-weight: 600; color: #666; display: flex; align-items: center; justify-content: center; gap: 2px; background: #fff; border-radius: 1.8vw; padding: 1% 2%; border: 1px solid #4c66d7; box-shadow: 0 5px 10px rgba(76, 102, 215, 0.3); } 
#view_cumulative_analysis .avg_score_total_box .score_val strong { font-size: 4.3vw; color: #4c66d7; font-weight: 800; } 
#cumulativeLineChart, #cumulativeBarChart { width: 100% !important; height: 100% !important; } 
