html, body, * {
    font-family: "Pretendard", "Noto Sans KR", "Nanum Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* =========================================
   지락실닷컴 배경 및 글래스모피즘 효과
========================================= */

body {
    min-height: 100vh;
    position: relative;
    color: #212529;
    overflow-x: clip; /* 100vw full-bleed(.vd-hero 등) 가로 스크롤 방지 */
}

/* 2. 배경 애니메이션 (그라데이션이 부드럽게 교차 이동) */
@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

body::after {
    content: '';
    position: fixed; /* 화면에 고정 */
    top: 0; 
    left: 0; 
    width: 100vw; 
    height: 100vh;
    background: linear-gradient(135deg, #8a929a 0%, #aab2ba 50%, #ced4da 100%);
    background-size: 300% 300%;
    animation: gradientShift 25s ease infinite;
    z-index: -2; /* 가장 뒤로 보내기 (glassmorphism이 -1이므로 그보다 뒤에) */
    pointer-events: none;
}
.msg_center {display:none;position:fixed;bottom:0px;width:100%;padding:20px;z-index:9999;overflow:hidden; background-color:#513D3E;text-align:center;color:#FEF419;border: 1px solid #BEB0A8;}
#fixed-menu {
  width: 100%;
  z-index:99;
  position: fixed;
  top: 0px;
  left: 0px;
}
#mask { position:absolute; z-index:100; background-color:#000; display:none; left:0; top:0; }

*:not(input):not(textarea) {
  #caret-color: transparent !important;
}

input,
textarea {
  caret-color: black !important;
}

input, textarea {
  user-select: text;   /* input/textarea만 텍스트 선택 허용 */
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
}

.gal {text-align:center}
.gal img {width: 100%; max-width:220px;padding: 7px 0;}
a {color:#555555}
a:link {text-decoration: none}
a:visited {text-decoration: none}
a:hover {text-decoration: none}
a:active {text-decoration: none}
.btn-group button{padding:6px;max-width:80px;font-size:12px}
.panel-heading {padding:3px}
.panel-body {padding:5px}
.panel-default {max-width:680px}
.sub_select {font-weight:bold;background-color:#0489B1;color:#ffffff}
.sub_select a {font-weight:bold;background-color:#0489B1;color:#ffffff}
.sub_item_select {font-weight:bold;background-color:#eeeeee;color:#006600}
.sub_item_select span {font-weight:bold;background-color:#eeeeee;color:#006600}
.container_menu {padding-left:6px;padding-right:6px}
.table {margin-bottom:5px;}
.table-bordered {}
.table-padding {padding:10px}
.table-padding .btn-padding{padding-top:6px;padding-bottom:6px;height:auto; text-align:center;vertical-align:middle}
.top_a_img {width:24px;background-image: url('/img/starbucks-24.png'); background-repeat: no-repeat; background-position: 50% 50%}
.modal,modal-dialog{border-radius: 0px; }
.modal.left .modal-dialog,
.modal.right .modal-dialog {
position: fixed;
margin: auto;
width: 250px;
height: 100%;
-webkit-transform: translate3d(0%, 0, 0);
-ms-transform: translate3d(0%, 0, 0);
-o-transform: translate3d(0%, 0, 0);
transform: translate3d(0%, 0, 0);
}
.modal.left .modal-content,
.modal.right .modal-content {height: 100%;overflow-y: auto;}
.modal.left .modal-body,
.modal.right .modal-body {padding: 15px 15px 80px;}
/*Left*/
.modal.left.fade .modal-dialog{
left: -250px;
-webkit-transition: opacity 0.1s linear, left 0.1s ease-out;
-moz-transition: opacity 0.1s linear, left 0.1s ease-out;
-o-transition: opacity 0.1s linear, left 0.1s ease-out;
transition: opacity 0.1s linear, left 0.1s ease-out;
}
.modal.left.fade.in .modal-dialog{left: 0;}
/*Right*/
.modal.right.fade .modal-dialog {
right: -250px;
-webkit-transition: opacity 0.1s linear, right 0.1s ease-out;
-moz-transition: opacity 0.1s linear, right 0.1s ease-out;
-o-transition: opacity 0.1s linear, right 0.1s ease-out;
transition: opacity 0.1s linear, right 0.1s ease-out;
}
.modal.right.fade.in .modal-dialog {right: 0;}
.modal-content {
border-radius: 15px;
border: none;
}
.modal-header {
border-radius: 15px;

border-bottom-color: #EEEEEE;
background-color: #FAFAFA;
}

.in-btn {background-color:#ffffff;border: 1px solid #555555;border-radius: 5px;padding:3px;cursor:pointer}
.in_help_box{background-color:#ffffff;border: 1px solid #cccccc;border-radius: 0px;padding:5px}
.in_help_box .fontsize {font-size:14px}
.in_help_box .title {font-weight:bold}
.in_help_box .fontsizesmall{font-size:12px}
.cpointer{cursor:pointer}
.bottom_info {max-width:500px;}
.bottom_info .info_box {border-top: 1px solid #dddddd;border-bottom: 0px solid #dddddd;border-left: 1px solid #dddddd;border-right: 1px solid #dddddd;border-radius: 0px;padding:10px;margin-bottom:0px}
.bottom_info .info_title {font-weight:bold;padding-right:3px;font-size:13px}
.bottom_info .info_doc {color:#666666;font-size:13px}
.bottom_info .info_box_bottom {border-bottom: 1px solid #dddddd;}
.bottom_info textarea{border: 1px solid #dddddd;}
.footer {clear: both}

.instalist_top{max-width:640px;height: 70px;overflow: hidden;padding:3px;border: 1px solid #dddddd;margin-bottom:5px;border-radius: 10px;}
.pic_url_top {width:60px;border: 0px solid #dddddd;border-radius: 50px; padding:3px}
.pic_url_post_top {width:70px;border: 0px solid #dddddd;border-radius: 2px; padding:3px}
.profile_top{width: 60px;float: left;}
.bio_top{float: none;width: auto;overflow: hidden;text-align:left;padding:3px;}
.full_name_top{font-weight:bold;font-size:12px;}
.biography_top{width:100%;overflow: hidden;}
.username_top{margin-top:3px}
.user_text_top{ margin-top:3px;color:#009900}
.carousel{max-width:640px}

.instagram_support_btn {max-width:340px;border: 1px solid #dddddd;border-radius: 10px; padding:5px;margin-top:10px;margin-bottom:10px;height:auto;background-color:#ffffff}
.sns_link {margin-top:30px}
.sns_link span {padding:2px}
.sns_link img {width:42px;border: 1px solid #cccccc;border-radius: 8px;padding:3px}

.sns_link2 span {padding:2px}
.sns_link2 img {width:45px;border: 0px solid #cccccc;border-radius: 0px;padding:3px}

.top_info_box {max-width:640px;border: 1px solid #dddddd;border-radius: 10px; padding:10px;margin-bottom:10px;height:auto;}
.container {max-width:980px;padding-left:12px;padding-right:12px;}
 .affix {
    top: 0px;
	left:0px;
	right:0px;
	padding-left:1px;
	padding-right:1px;
	padding-top:0px;
    width:100%;
	border-radius: 5px;
    z-index: 9 !important;
  }

 .box_shadow {
max-width: auto;
box-shadow: 2px 2px 4px grey;
}
#_loading
{
  position: fixed;
 left: 50%;
 top: 50%;
 margin-left:-32px;
 padding:5px;
 border: 1px solid #eeeeee;
 border-radius: 20px;
 background: #ffffff;
 z-index:999;
}

.service_top_style {font-size:23px;font-weight:bold;padding-top:10px;padding-bottom:15px;text-align:center}
.service_top_logo {width:50px;height:50px;padding:0px;border: 1px solid #aaaaaa;object-fit: cover;object-position: top; border-radius: 50%;box-shadow: 2px 2px 4px grey;}

.doc_text
{
text-align:left;
margin-top:20px;
}
.doc_text_title
{
font-size:14px;
font-weight:bold;
}

.doc_text_info
{
font-size:13px;
margin-top:5px;
}

.doc_text_info .link_a
{
font-size:13px;
color:#006699;
}

.doc_text_info lu li
{
font-size:13px;
line-height:180%;
}

.doc_text_info lu li a
{
font-size:13px;
line-height:180%;
}

.doc_text_info br
{
line-height:180%;
}

.tagdisplay
{
	border: 1px solid #aaaaaa;
	border-radius: 10px;
	font-size:14px;
	font-weight:bold;
	padding-right:3px;
	padding:5px;
	line-height:35px;
}

.main_title {
	padding-top:15px;
	padding-bottom:15px;
	text-align:left;
}
.main_title a {
	font-size:16px;
	font-weight:bold;
}
.main_title i {
	font-size:16px;
	font-weight:bold;
}

.item_rank_image {
	width:100%;

	height: 120px;
	object-fit: cover;

	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	cursor: pointer;
	border-radius: 0px;
}

.ideal_item_1st_title {
	position: absolute;
	width:auto;
	padding:10px;
	border-radius: 10px;
    top:40px;
    left:50%;
	transform: translate(-50%, -50%);
	text-align:center;
    font-size:1.5em;
	color:#ffffff;
	background-color:rgba(0, 0, 0, 0.5);
	}
.empty_comment {font-size:14px;font-weight:bold;color:#000000;text-align:center}

.ideal_display_item_select {position: absolute;max-width:100%;height:100%;z-index:13;top:5px;left:25%;right:25%}
.ideal_display_box {text-align:center;margin:0px;max-width:100%; overflow: hidden;100%;border: 0px solid #ffffff}
.ideal_display_item {text-align:center;margin:0px;width:100%}

.ideal_item_left_title {
width:100%;
border: 0px solid #aaaaaa;
text-align:center;
z-index:10;
position: absolute;
top:5px;
border-radius: 0px;
color:#ffffff;
font-weight:bold;
padding:3px;
font-size:1.1em;
text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;
}

.ideal_item_right_title {
width:100%;
border: 0px solid #aaaaaa;
text-align:center;
z-index:10;
position: absolute;
top:5px;
border-radius: 0px;

color:#ffffff;
font-weight:bold;
padding:3px;
font-size:1.1em;
text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;
}

.ideal_item_vs {
position: absolute;
width:40px;
top: 50%;
left: 100%;
transform: translate(-50%, -50%);
z-index:20;
background-color:#ffffff;
color:#ffffff;
padding:3px;

border-radius: 5px;
}
.ideal_item_select_title {position: absolute;max-width:100%;z-index:13;top:50%;left:25%;right:25%;text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;color:#ffffff;padding:3px;font-weight:bold;font-size:1.5rem;border-radius: 5px;}

.ideal_item_1st_select_title {z-index:101;position: absolute;top:5%;right:30%;margin-top:-10px;text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;color:#ffff00;padding:3px;font-weight:bold;font-size:1.2rem}
.ideal_item_left_select_title {z-index:101;position: absolute;top:50%;right:40%;margin-top:-10px;text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;color:#ffff00;padding:3px;font-weight:bold;font-size:1.2rem;border-radius: 5px;}
.ideal_item_right_select_title {z-index:101;position: absolute;top:50%;left:40%;margin-top:-10px;text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000;color:#ffff00;padding:3px;font-weight:bold;font-size:1.2rem;border-radius: 5px;}
.image-box {
    max-width:100%;
    max-height:100%;
    overflow:hidden;
    margin:0 auto;
}

.image-thumbnail {
    max-width:100%;
    max-height:800px;
   # object-fit:cover;
}

.image-select {
    width:100%;
    height:100%;

}
.ideal_top_title {padding:10px;background-color:#000000;color:#ffffff;font-weight:bold;font-size:20px;}


#sortable_list { list-style-type: none; padding:0px}
#sortable_list li {margin: 0px 0px 10px 0px; padding: 30px 0px 30px 0px; height:95px}

.input-size
{
	padding:1.3em;
	font-size:1.4em;
}

.input-size-sm {
	padding:1.1em;
	font-size:1.2em;
}

.form-control-item {
 border: 0;
 box-shadow: none;
font-weight:bold}
.form-control-user {border: 1px;font-weight:bold}
.panel-default-st {background-color:#ffffff;border: 1px solid #cccccc;border-radius: 0px;}
.panel-heading {padding:5px;font-weight:bold;background-color:#cccccc;border-radius: 0px}
.panel-body {}
.rowclear {clear: both;}

.input-size-make
{
	padding:15px;
	font-size:1.2em;
}

.form-control-make .form-control {

}
.card{
border: 1px solid #cccccc;
border-radius: 0px;
background-color:#ffffff;
overflow: hidden;
position: relative;
box-shadow: 0 5px 5px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);

}

.card-header{
	float: left;
	position: absolute;
	width: 30px;
	height: auto;
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
	border-right: 1px solid #cccccc;
	background-color:#ffffff;
	cursor:move;
}

.card-header-icon {
	position: absolute;
	width: 30px;
	height: auto;
	top: 40%;
	right: 0px;
	bottom: 0px;
	left: 0px;
	overflow: visible;
}
.card-header-icon i {
font-size:13px;
color:#aaaaaa;
}

.card-right{
	float: right;
	position: absolute;
	width: 40px;
	height: 86px;
	padding-top:5px;
	top: 0px;
	right: 0px;
	border-left: 0px solid #cccccc;
	background-color:#ffffff;
}

.card-image-make{
	width:120px;
	height:120px;
	position: absolute;
	overflow: hidden ;
	display : flex;
	  justify-content : center;
	  align-items : center;
	  text-align : center;
	left:0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	border-right: 1px solid #cccccc;
	background-color:#ffffff;
}


.card-image{
	float: left;
	width:100px;
	height:auto;
	position: absolute;
	overflow: visible ;
	left:0px;
	top: 0px;
	right: 0px;
	bottom: 0px;
	border-right: 1px solid #cccccc;
	background-color:#ffffff;
}

.card-text-make
{
	float: left;
	position: absolute;
	width: auto;
	height: auto;
	top: 0px;
	right: 40px;
	left: 127px;
	bottom: 0px;
	padding: 5px;
	text-align:left;
}

.card-text
{
	float: left;
	position: absolute;
	width: auto;
	height: auto;
	top: 0px;
	right: 40px;
	left: 107px;
	bottom: 0px;
	padding: 5px;
	text-align:left;
}

.ideal_list_new_image
{
	width:100%;
	height:63px;
    margin: 0 auto;	
	object-fit: cover;
	overflow: hidden ;
}


.ideal_list_video
{
	width:100%;
	height:160px;
	object-fit: cover;

    margin: 0 auto;
}

.ideal_list_image
{
	width:100%;
	height:160px;
   object-fit: cover;
    margin: 0 auto;
	#border-radius: 5px;
}

.item_image_make
{
	width:120px;
	position: absolute;
	overflow: visible ;
	height: 120px;
	object-fit: cover;

	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	cursor: pointer;
	border-radius: 0px;
}

.item_image
{
	max-width:100%;
	position: absolute;
	overflow: visible ;
	max-height: auto;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	cursor: pointer;
	border-radius: 0px;
}

.logo_image
{
	max-width:150px;
	position: absolute;
	overflow: visible ;
	height: auto;
   top:55px;
	left:0px;
	right:0px;
	bottom:0px;
	margin-top:-50px;
  cursor: pointer;
	border-radius: 5px;
}

.card-row:after {
  clear: both;
}

.card-placeholder {
border: 1px dotted black;
margin: 0 1em 1em 0;
height: 80px;
margin-left:auto;
margin-right:auto;
background-color: yellow;
}

.user-image
{
	margin-bottom:10px;
	max-width:100px;
	height: auto;
	cursor: pointer;
	border-radius: 5px;

}

.user-logo-img
{
	max-width:100px;
	height: auto;
	margin-top:10px;
	cursor: pointer;
	border-radius: 5px;
}

/* The switch - the box around the slider */
.switch {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 20px;
  vertical-align:middle;
}

/* Hide default HTML checkbox */
.switch input {display:none;}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 15px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(11px);
  -ms-transform: translateX(11px);
  transform: translateX(11px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

p {
}

.linkpage{
border: 1px solid #cccccc;
border-radius: 5px;
padding:10px;
background-color:#ffffff;
}

.linkpage span{
font-size:14px;
font-weight:bold;
}

.star-btn{
	border: 1px solid #aaaaaa;
	border-radius: 3px;
	background-color:#ffffff;
	padding:2px;
	cursor:pointer;
}

.click-btn {
	border: 1px solid #aaaaaa;
	border-radius: 3px;
	background-color:#ffffff;
	padding:2px;
	padding-left:2px;
	padding-right:2px;
	cursor:pointer;
}

.btn-sm {padding:5px}
.fontsize12{font-size:12px}
.starcheck {background-color:red;}
.staruncheck {background-color:#000000;}
.theme_radio_size {width:85px}

input[type=file] {display: none;}

.imgs_wrap {
			max-width:100%;
			text-align:center;
			height:150px;
			overflow:hidden;
			display:inline-block;
			border: 1px solid #eeeeee;
			padding:10px;
}
.imgs_wrap img {
	max-width: 150px;
	display:inline-block;
	margin-left: 5px;
	margin-right: 5px;
}

#fixed-menu-jjalbang {
  width: 100%;
  z-index:99;
  position: fixed;
  top: 60px;
  left: 0px;
}
.btn-default-tag {border: 2px solid #ffffff;border-radius: 0px;background-color:#2e6b6a;color:#ffffff;font-weight:bold;padding:10px}
.btn-default-s-tag {border: 1px solid #cccccc;border-radius: 0px;background-color:#2e6b6a;color:#ffffff;font-weight:none;padding:4px}
.top_a_img {width:24px;background-image: url('/img/starbucks-24.png'); background-repeat: no-repeat; background-position: 50% 50%}
.jjalbang_content{
         position: absolute;
         top:50%;
         left:50%;
         transform: translate(-50%, -50%);
         font-size:5rem;
         color: white;
         z-index: 2;
         text-align: center;
    }

.jjalbang_content_bottom{
         position: absolute;
		 width:100%;
         bottom:-45px;
         left:50%;
         transform: translate(-50%, -50%);
         font-size:5rem;
         color: white;
         z-index: 1;
         text-align: center;
    }

	    .img-cover{
       position: absolute;
       height: 100%;
       width: 100%;
       background-color: rgba(0, 0, 0, 0.7);
       z-index:1;
    }

.menu_box{
display:block;
width:100%;
height:70px;
padding:10px;
margin-bottom:7px;
border: 1px solid #BEB0A8;
line-height:1.41557143;
background-color:#fff;
border-radius:10px;
}
.menu_icon_text {font-size:17px;font-weight:bold}
.menu_icon {font-size:22px;}
.menu_icon_2 {font-size:17px;}
.menu_box div {font-size:14px;}
.jjalbox_main_list_title {font-size:14px;font-weight:bold}
.jjalbox_subject {
 position: absolute;
 max-width:90%;
 bottom:5px;
 left:50%;
 transform: translate(-50%, -50%);
 font-size:13px;
 color: #ffffff;
 z-index: 1;
 text-align: center;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
 background-color:#000000;
 padding:5px;
 font-weight:bold;
 border-radius:0px;
 opacity: 0.7;
 }
.menu_box .main_menu_img {width:45px;height:auto;display:table-cell;vertical-align:middle;text-align:center;padding-top:2px;padding-right:3px}
.menu_box .main_menu_img_display {width:42px;height:auto;padding:1px;border: 0px solid #ffffff;object-fit: cover;object-position: top; border-radius: 20%;box-shadow: 1px 1px 1px grey}
.menu_box .main_menu_txt_display {width:42px;height:auto;padding:1px;border: 0px solid #ffffff;object-fit: cover;object-position: top; border-radius: 20%;box-shadow: 1px 1px 1px grey;font-weight:bold;background-color:#eeeeee;color:#006600}
.menu_box .main_title {width:100%;text-align:left;padding:3px;font-weight:bold;font-size:13px;margin-left:5px;display:table-cell;vertical-align:middle;}
.menu_box .main_title_sm {width:100%;text-align:left;padding:3px;font-weight:bold;font-size:15px;margin-left:5px;display:table-cell;vertical-align:middle;}
.menu_box .main_title_lg {width:100%;text-align:left;padding:3px;font-weight:bold;font-size:17px;margin-left:5px;display:table-cell;vertical-align:middle;}
.menu_box .main_title_font {font-weight:bold;font-size:12px;}

.jjalbang_title {
margin-top:10px;
margin-bottom:10px;
text-align:left;
font-weight:bold;
font-size:16px;
padding:5px;
border: 0px solid #aaaaaa;
border-radius: 5px;
cursor:pointer;
}
.comment img {max-width:100%}
.board_comment_view img {max-width:100%}

 .ui-tooltip, .arrow:after {
    background: black;
    border: 1px solid white;
  }
  .ui-tooltip {
    padding: 10px 20px;
    color: white;
    border-radius: 20px;
    font: bold 14px "Helvetica Neue", Sans-Serif;
    text-transform: uppercase;
    box-shadow: 0 0 7px black;
  }
  .arrow {
    width: 70px;
    height: 16px;
    overflow: hidden;
    position: absolute;
    left: 50%;
    margin-left: -35px;
    bottom: -16px;
  }
  .arrow.top {
    top: -16px;
    bottom: auto;
  }
  .arrow.left {
    left: 20%;
  }
  .arrow:after {
    content: "";
    position: absolute;
    left: 20px;
    top: -20px;
    width: 25px;
    height: 25px;
    box-shadow: 6px 5px 9px -9px black;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .arrow.top:after {
    bottom: -20px;
    top: auto;
  }

.menu_item{max-width:100%;height: 70px;overflow: hidden;background-color:#eeeeee;border: 1px solid #cccccc;margin-bottom:10px;border-radius: 5px}
.menu_back{width: 40px;float: left;}
.menu_back_text{color:#555555;width:auto;font-size:20px;;font-weight:bold;background-color:#f7f7f7;padding:8px;border: 0px solid #ffffff;border-radius: 10px}
.menu_top_title {color:#555555;font-weight:bold;font-size:16px;padding-left:5px;}
.menu_gt {font-size:16px;padding-left:5px;}
.menu_title {width: auto;color:#555555;font-weight:none;font-size:16px;padding-left:5px;}

.menu_bio {float: left;width:auto;text-align:center}
.menu_display_center {
	height: 70px;
	display : flex;
	  justify-content : center;
	  align-items : center;
	  text-align : center;
	  }
.menu_more{width: 45px;float: right}
.menu_more_text {color:#555555;width:auto;font-size:16px;;font-weight:bold;background-color:#ffffff;padding:8px;border: 0px solid #FFDEAD;border-radius: 10px;margin-right:5px}

.g_sub_title {font-size:1.7em;font-weight:bold;padding-top:20px}
.g_sub_doc {font-size:1.2em;padding:10px}
.g_info_box {border: 1px solid #cccccc; display: block; padding:15px;height:auto;background-color:#ffffff;max-width:100%;border-radius: 10px;display:none}
.g_info_doc {font-size:1.5em;padding:10px;height:auto;background-color:#ffffff;max-width:100%}
.g_info_help { margin-top:10px;border: 1px solid #cccccc;padding:10px;max-width:520px;box-shadow: 0px 3px 3px rgba(0,0,0,.15), 2px 3px 3px rgba(0,0,0,.10);}
.g_info_help_wd { margin-top:10px;border: 1px solid #cccccc;padding:10px;max-width:100%}
.g_info_help_w { margin-top:10px;border: 1px solid #cccccc;padding:10px;max-width:100%;box-shadow: 0px 3px 3px rgba(0,0,0,.15), 2px 3px 3px rgba(0,0,0,.10);}

.sub_menu_box {max-width:860px;margin-top:20px;margin-bottom:20px;padding-left:5px;padding-right:5px;text-align:center}
.sub_menu_item {padding:5px;margin-bottom:5px;text-align:left}
.sub_menu_active {border-radius: 10px;box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);background-color:#9900ff;color:#ffffff;font-weight:bold;}

.sub_menu_ideal_btn_make {
position: relative;
max-width:100%;
height:230px;
padding:5px;
float:left;
display:table;
display:table-cell;
text-align:center;
font-size:1.0em
}

.sub_menu_btn_make {
position: relative;
max-width:100%;
height:210px;
padding:5px;
float:left;
display:table;
display:table-cell;
text-align:center;
font-size:1.0em
}



.sub_menu_btn {
    max-width: 100%;
    height: auto;
    float: left;
    display: table;
    display: table-cell;
    text-align: center;
    font-size: 1.0em;
    
    /* 기존 padding 대신 좌우 패딩으로 간격 조절 */
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 7.5px;  /* 아이템 간 간격 조절 */
    padding-right: 7.5px; /* 아이템 간 간격 조절 */
}

/* 모바일에서 2개씩 배치될 때 간격 조절 */
@media (max-width: 575px) {
    /* 첫 번째 아이템(2n+2, 즉 2,4,6,8번째)은 왼쪽 패딩만 */
    .sub_menu_btn:nth-child(2n+2) {
        padding-left: 0;
        padding-right: 7.5px;
    }
    
    /* 두 번째 아이템(2n+3, 즉 3,5,7,9번째)은 오른쪽 패딩만 */
    .sub_menu_btn:nth-child(2n+3) {
        padding-left: 7.5px;
        padding-right: 0;
    }
}

/* 태블릿/데스크톱에서 4개씩 배치될 때 */
@media (min-width: 576px) {
    /* 각 행의 첫 번째 아이템 (2, 6, 10번째) */
    .sub_menu_btn:nth-child(4n+2) {
        padding-left: 0;
        padding-right: 7.5px;
    }
    
    /* 각 행의 두 번째, 세 번째 아이템 (3, 4, 7, 8번째) */
    .sub_menu_btn:nth-child(4n+3),
    .sub_menu_btn:nth-child(4n+4) {
        padding-left: 7.5px;
        padding-right: 7.5px;
    }
    
    /* 각 행의 마지막 아이템 (5, 9, 13번째) */
    .sub_menu_btn:nth-child(4n+5) {
        padding-left: 7.5px;
        padding-right: 0;
    }
}


.sub_menu_btn_ideal {
max-width:100%;
height:auto;
float:left;
padding:8px;
display:table;
display:table-cell;
text-align:center;
font-size:1.0em
}

.sub_menu_btn_box {
width:120px;
height:80px;
box-shadow: 0 5px 5px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
font-size:1.1em;
border: 1px solid #aaaaaa;
padding:5px;
border-radius: 6px;
display:table-cell;
vertical-align:middle;
}

.sub_menu_btn_box_best {
width:120px;
height:80px;
box-shadow: 0 5px 5px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
font-size:1.1em;
border: 1px solid #aaaaaa;
background-color:#FADA9D;
  color:#000000;
padding:5px;
border-radius: 6px;
display:table-cell;
vertical-align:middle;
}

.sub_menu_btn_box_best:hover{
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
  background-color:#FBF1D3;
  color:#000000;
  font-weight:bold;
}

.sub_menu_btn_box:hover{
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
  background-color:#eeeeee;
  color:#000000;
  font-weight:bold;
}

/* ========== 타이틀 바 (기존 클래스 오버라이드) ========== */
.quiz_title_box {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  margin: 10px 0px;
  padding: 6px 10px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
  /* 기존 속성 초기화 */
  position: relative;
}

.backlist {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #f3f4f6;
  color: #555;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  /* 기존 속성 초기화 */
  position: static;
  padding: 0;
  text-decoration: none;
}

.backlist:hover {
  background: #e5e6e8;
  color: #222;
  transform: translateX(-2px);
}

.backlist:active {
  transform: translateX(-1px) scale(0.95);
}

.backlist i {
  font-size: 15px;
  color: inherit;
}

.quiz_title {
  flex: 1;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 800;
  color: #222;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* 기존 속성 초기화 */
  background-color: transparent;
  border-radius: 0;
  text-align: left;
}

/* 모바일 */
@media (max-width: 480px) {
  .quiz_title_box {
    margin: 8px 0px;
    padding: 6px 10px;
    border-radius: 14px;
    gap: 10px;
  }

  .backlist {
    width: 34px;
    height: 34px;
    border-radius: 10px;
  }

  .backlist i {
    font-size: 14px;
  }

  .quiz_title {
    font-size: 15px;
  }
}

.friend_tag {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size:0.9em;
  border-radius: 20px;
  background-color:#009900;
  color:#ffffff;
  padding:3px;
}


.friend_title_box {
	position: relative;
  border-radius: 20px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.friend_title {
  margin-top:20px;
  margin-bottom:20px;
  top: 0px;
  left: 40px;
  right: 0px;
  font-size:1.2em;
  height: auto;
  font-weight: bold;
  border-radius: 0px 20px 20px 0px;
  text-align: center;
  color: #ffffff;
  background-color: #0984E3  ;
  #opacity: 0.9;
  padding: 10px;
  white-space: nowrap; /* 한 줄로 만들기 */
  overflow: hidden; /* 넘치는 텍스트 숨기기 */
  text-overflow: ellipsis; /* 넘치는 텍스트에 "..." 표시 */
  z-index: 10;
  box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10); 
}


.vs_title_box {
position: relative;
border-radius: 20px;
box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.vs_title {
  margin-top:20px;
  margin-bottom:20px;
  top: 0px;
  left: 40px;
  right: 0px;
  font-size:1.2em;
  height: auto;
  font-weight: bold;
  border-radius: 0px 20px 20px 0px;
  text-align: center;
  color: #ffffff;
  background-color: #0984E3  ;
  #opacity: 0.9;
  padding: 10px;
  white-space: nowrap; /* 한 줄로 만들기 */
  overflow: hidden; /* 넘치는 텍스트 숨기기 */
  text-overflow: ellipsis; /* 넘치는 텍스트에 "..." 표시 */
  z-index: 10;
  box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10); 
}

.answer_btn{
	position: absolute;
	width:auto;
	top:6px;
	right:5px;
	padding:7px;
	border-radius: 10px;
	border: 1px solid #aaaaaa;
	font-weight:bold;
	font-size:1.2em;
	text-align:center;
	background-color:#ffffff;
}

.answer_btn_sm {
	position: absolute;
	width:auto;
	top:5px;
	right:5px;
	padding:5px;
	border-radius: 13px;
	border: 1px solid #aaaaaa;
	font-weight:bold;
	font-size:1.0em;
	text-align:center;
	background-color:#ffffff;
}

.title_logo {
	width: 60px;
	height: 60px;
	border-radius: 70%;
	overflow: hidden;
	object-fit: cover;
	border: 1px solid #aaaaaa;
	box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
}



.more_btn {
	width:120px;
	border:1px solid #dddddd;
	padding:10px;
	text-align:center;
	cursor:pointer;
	font-size:1.0em;
	border-radius: 50px;
	box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.3);
}

.more_btn:hover {
  background-color: #eeeeee;
  transform: scale(1.005);
}


.answer {
height:auto;
border: 1px solid #aaaaaa;
padding:10px;
margin-top:20px;
border-radius: 5px;
box-shadow: 6px 5px 9px -9px black;
}

.answer_shadow_quiz {
  height:auto;
  margin: 0 auto;
  padding: 0px;
  border-radius: 10px;
  background-color: #ffffff;
  color: #222222;
  font-size: 1.1em;
  text-align: center;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.answer_shadow {
  height:auto;
  margin: 0 auto;
  padding: 15px;
  border-radius: 10px;
  background-color: #ffffff;
  color: #222222;
  font-size: 1.1em;
  text-align: center;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.answer_shadow_menu {
  height:auto;
  margin: 0 auto;
  padding: 9px;
  border-radius: 0px;
  background-color: #ffffff;
  color: #222222;
  font-size: 1.1em;
  text-align: center;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.answer_shadow_comment {
  height:auto;
  margin: 0 auto;
  padding: 15px;
  border-radius: 0px;
  background-color: #ffffff;
  color: #000000;
  font-size: 1.1em;
  text-align: center;
  border: 1px solid #cccccc;
  #box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}

.answer_box {
margin-bottom:20px;
}

.text-image-display {
  position: relative;
}

.quiz-item-title {
	position: absolute;
	bottom:5px;
	font-size:1.0em;
	padding:5px;
	opacity: 0.8;
	font-weight:bold;
	background-color:#ffffff;
	color:#000000;
	border-radius: 10px;
	box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
}

.quiz-item-title-def {
	font-size:1.3em;
	padding:0px;
	color:#000000;
}

.answer_image_box {
	position: relative;
	margin: 0 auto;
	margin-bottom:10px;
	display: flex;	
	justify-content: center;
}

.answer_image_box img {
	max-width:100%;
	border-radius: 10px;
  }

.qv-author {
  position: absolute;
  bottom: 12px;
  left: 12px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  color: #444;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.qv-author i {
  color: #888;
  margin-right: 2px;
}

.quiz_write_nickname {
	position: absolute;
	max-width:300px;
	border-radius: 20px;
	bottom:10px;
	background-color:#E6E6FA;
	color:#000000;
	opacity: 0.9;
	font-size:1.0em;
	text-align:center;
	padding:6px;
	box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
}

.top_box {
  position: relative;
  background-color:#fff;
  border-bottom: 1px solid #cccccc;
  box-shadow: 0 5px 10px rgba(0,0,0,0.2);   
  margin-top:0px;
  margin-bottom:10px;  
}

.top_box_menu {
  font-size:1.0em;
  height:auto;
  text-align:right; 
  padding:12px;
}

.top_box_logo_box {
	width:125px;
	height:100%;
	font-family: "Nanum Gothic";
	font-weight:bold;
	border-radius: 0px;
	font-size:1.1em;
	display:inline-block;
	transform:rotate(-0.03deg);
	text-align:center;
	color:#000000;
	background-color:#dddddd;
	padding-top:2px;
	cursor: pointer;
	position: absolute;
}

.top_box_logo_box_svg {
	width:125px;
	height:100%;
	font-family: "Nanum Gothic";
	font-weight:bold;
	border-radius: 0px;
	font-size:1.1em;
	display:inline-block;
	transform:rotate(-0.03deg);
	text-align:center;
	color:#000000;
	background-color:#e6e6e6;
	border-bottom: 1px solid #cccccc;
	padding-top:2px;
	cursor: pointer;
	position: absolute;
}

.top_box_logo_box_n {
	width:55px;
	height:100%;
	font-weight:bold;
	text-align:center;
	color:#000000;


	cursor: pointer;
	position: absolute;
}

.title_logo_sm {
	width: 40px;
	height: 40px;
	border-radius: 70%;
	overflow: hidden;
	object-fit: cover;
	border: 1px solid #aaaaaa;
	box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
}


.quiz_title_shadow {
  margin-top:10px;
  margin-bottom:10px;
  height:auto;
  padding: 10px;
  border-radius: 20px;
  background-color: #484848;
  color: #ffffff;
  font-size: 1.1em;
  text-align: center;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.quiz_doc {
margin-top:15px;
margin-bottom:15px;
font-size:1.0rem;
color:#000;
}

.answer_title
{
	font-size:1.3em;
	text-align:center;
	padding:6px;
	margin-bottom:5px;
}

.answer_doc
{
	font-size:1.1em;
	text-align:left;
	padding:6px;
	margin-bottom:5px;
}

.answer_exam_btn
{
	clear: both;
	max-width:400px;
	margin-top:50px;
	margin-bottom:5px;
	color:black;
	text-align:left;
}

.answer_show_btn {
	width:60px;
	padding:5px;
	  background-color: #ffffff;
	border: 1px solid #aaaaaa;
	border-radius: 10px;

}ㄴㅇㄴ

.answer_questions_exam_dispaly
{
	clear: both;
	max-width:400px;
	margin-top:10px;
	margin-bottom:10px;
	color:black;
	text-align:left;
	filter:blur(5px);
}

.answer_questions_help_dispaly
{
	
	margin-top:20px;
	padding:10px;
	background-color:#ffffff;
	border-radius: 10px;
	font-weight:none;
	color:black;
	text-align:center;
}

.answer_in_display
{
	max-width:400px;
	margin-top:20px;
	font-weight:bold;
	color:blue;
	text-align:left;
}

.exam_help_display {
	color:#aaaaaa;
}

.score_display {
	width:auto;
	padding:7px;
	border-radius: 10px;
	border: 1px solid #aaaaaa;
	font-size:1.1em;	
	text-align:center;
	background-color:#ffffff;
}

.score_display span {
font-weight:bold;
}

.score_top_display {
	width:auto;
	padding:7px;
	border-radius: 10px;
	border: 0px solid #aaaaaa;
	font-size:1.2em;	
	text-align:center;
	background-color:#ffffff;
}

.score_top_display span {
font-weight:bold;
}
.score
{
	#position: absolute;
	width:auto;
	padding:7px;
	border-radius: 10px;
	border: 1px solid #aaaaaa;
	font-size:1.2em;
	text-align:center;
	background-color:#ffffff;
}

.score span {
font-weight:bold;

}

.display_answer_box
{
	width:auto;
	border-radius: 10px;
	padding:5px;
	border: 0px solid #aaaaaa;
	font-size:1.1em;
	color:#006400;
	text-align:center;
	background-color:#FFFDD0;
}
.display_answer
{
	width:auto;
	padding:5px;

	border: 0px solid #aaaaaa;
	font-weight:bold;
	font-size:1.2em;
	color:#006400;
	text-align:center;
	background-color:#FFFDD0;
}

.count_answer
{
	position: absolute;
	width:auto;
	top:-75px;
	right:10px;
	padding:5px;
	border-radius: 10px;
	border: 0px solid #aaaaaa;
	font-weight:bold;
	font-size:1.2em;
	color:#006400;
	text-align:center;
	background-color:#FFFDD0;
}

.countdown_display {
	width:auto;
	padding:6px;
	border-radius: 20px;
	border: 1px solid #cccccc;
	font-weight:bold;
	font-size:1.2em;
	text-align:center;
	
	background-color:#ffffff;
}

.countdown
{
	position: absolute;
	width:auto;
	top:-35px;
	right:10px;
	padding:5px;
	border-radius: 20px;
	border: 1px solid #eeeeee;
	font-weight:bold;
	font-size:1.2em;
	text-align:center;
	opacity: 0.8;
	background-color:#ffffff;
}

.countdown span {
font-weight:bold;
}

.countdown_select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 5px;
	width:auto;
	border-radius: 10px;
	border: 1px solid #aaaaaa;
	font-weight:bold;
	font-size:1.2em;
	text-align:center;
	background-color:#ffffff;
}

.countdown_select option {
	width:auto;
	border-radius: 10px;
	padding:10px;
	text-align:center;
}

.exam_btn {
	margin-top:20px;
	margin-bottom:20px;
}

.exam_btn_answer {
width:100px;
height:50px;
box-shadow: 0 5px 5px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
font-size:1.1em;
border: 1px solid #aaaaaa;
padding:10px;
background-color:#27AE60;
color:#ffffff;
 font-weight:bold;
border-radius: 6px;
margin-right:10px;
}

.exam_btn_wrong {
width:100px;
height:50px;
box-shadow: 0 5px 5px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
font-size:1.1em;
border: 1px solid #aaaaaa;
padding:10px;
background-color:#CA6F1E;
color:#ffffff;
border-radius: 6px;

}

.exam_btn_answer:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
  background-color:#145A32;
  color:#ffffff;
  font-weight:bold;
}


.exam_btn_wrong:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
  background-color:#CB4335;
  color:#ffffff;
  font-weight:bold;
}



.startplaybtn {
  display: inline-block;
  max-width: 100%;
  padding: 7px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  background-color: #4CAF50;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
 # transition: all 0.1s ease-in-out;
}

.startplaybtn:hover {
  transform: scale(1.05);
}

.replaybtn {
  display: inline-block;
  max-width: 100%;
  padding: 7px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  background-color: #00a896;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
 # transition: all 0.1s ease-in-out;
}

.replaybtn:hover {
  transform: scale(1.05);
}

.clbcopybtn {
  display: inline-block;
  max-width: 100%;
  padding: 7px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  background-color: #990000;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
 # transition: all 0.1s ease-in-out;
}

.clbcopybtn:hover {
  transform: scale(1.05);
}


.playbtn_s {
  display: inline-block;
  max-width: 100px;
  padding: 7px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  background-color: #00a896;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
 # transition: all 0.1s ease-in-out;
}

.playbtn_s:hover {
  transform: scale(1.05);
}

.playbtnExam
{
  display: inline-block;
  max-width: 100px;
  padding: 7px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  background-color: #993300;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
 # transition: all 0.1s ease-in-out;
}

.playbtnExam:hover {
  transform: scale(1.05);
}

.playbtnExam span {
cursor: pointer;
color:#ffffff;
}

.playbtn {
  display: inline-block;
  width: 120px;
  padding: 10px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.2em;
  text-align: center;
  background-color: #00a896;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
 # transition: all 0.1s ease-in-out;
}

.playbtn:hover {
  background-color: #007965;
}


.result_title {
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 20px;
}

.result_doc {
  max-width:90%;
  margin-bottom:10px
  margin: 0 auto;
  color: #222222;

  text-align: center;

}

.result_doc p:first-of-type {
  margin-top: 0;
}

.result_doc p:last-of-type {
  margin-bottom: 0;
}

.playbtn span {
cursor: pointer;
color:#ffffff;
}

.quiz_display {
	position: relative;
	height: 100%; /* 부모 요소의 높이를 지정합니다 (필요에 따라 조정) */
}

.answer_questions_result_2
{
	z-index: 100;
	position: absolute;
	display:none;
	padding:10px;
	border-radius: 10px;
	border: 3px dashed #cccccc;
	background-color:rgba(0, 0, 0, 0.6);/*까만색(0,0,0) 80% 불투명도*/
}

.answer_questions_result_3
{
    position: absolute;
	border: 2px dashed #cccccc;
	padding:5px;
    z-index: 199;
	background-color:rgba(0, 0, 0, 0.6);/*까만색(0,0,0) 80% 불투명도*/
    box-shadow: 10px 8px 10px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    justify-content: center;
    align-items: center;
}

.answer_questions_result
{
    position: absolute;
	border: 3px dashed #cccccc;
	padding:10px;
    z-index: 199;
	background-color:rgba(0, 0, 0, 0.6);/*까만색(0,0,0) 80% 불투명도*/
    box-shadow: 10px 8px 10px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.answer_correct_display_3
{
	width:100px;
	border: 2px dashed #cccccc;
	padding:5px;
    z-index: 199;
	background-color:rgba(0, 0, 0, 0.6);/*까만색(0,0,0) 80% 불투명도*/
    box-shadow: 10px 8px 10px rgba(0, 0, 0, 0.3);
    border-radius: 10px;	
    text-align: center;
    justify-content: center;
    align-items: center;
	font-weight:bold;
	color:#ffff00;
	font-size:2.0em;
}

.answer_correct_display
{
	z-index: 100;
	font-weight:bold;
	color:#ffff00;
	font-size:3.0em;
}

.answer_wrong_display
{
	z-index: 100;
	font-weight:bold;
	color:red;
	font-size:3.0em;
}

.answer_wrong_display img {
	max-width:100px;
}

.answer_result_total_display{
	width:auto;
	padding:10px;
	border-radius: 10px;
	border: 0px solid #aaaaaa;
	font-weight:bold;
	font-size:1.1em;
	text-align:center;	
	color:#ffffff;
}

.btn-start
{
	width:100%;
}

.btn-restart
{
	border: 1px solid #aaaaaa;
	border-radius: 5px;
	background-color:#006600;
	font-size:2.0em;
	padding:10px;
	color:#ffffff;
	font-weight:bold;
	cursor: pointer;
}

.choice_score_box {
	width:100%;
	text-align:center;
	margin-top:30px;
	margin-bottom:30px;
}

.choice_score_box span {
	font-size:1.3em;
	padding:5px;
	font-weight:bold;
}

.choice_end_display {
  display: block;
  max-width: 300px;
  margin: 0 auto;
  padding: 10px;
  border: none;
  border-radius: 50px;
  background-color: #00a896;
  color: #ffffff;
  margin-top: 20px;
  font-weight: bold;
  font-size: 1.3em;
  text-align: center;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease-in-out;
}

.choice_end_display:hover {
  background-color: #007965;
  cursor: pointer;
}

.choice_end_score_display {
	width:auto
	margin-top:20px;
	font-weight:bold;
	color:black;
	float:left;
	font-size:1.3em;
	text-align:center;
}

.answer_end_display {
	margin-top:20px;
	font-weight:bold;
	color:black;
	font-size:1.2em;	
}

.answer_end_score_display {
	max-width:300px;
	font-weight:bold;
	color:black;
	font-size:1.1em;
  height:auto;
  margin: 0 auto;
  padding: 15px;
  border-radius: 0px;
  background-color: #ffffff;
  color: #222222;
  font-size: 1.1em;
  text-align: center;
  box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
}

.wrong_score {
color:red;
}

.answer_score {
color:blue;
}

.friend_wrong_score {
color:#000;
font-size:1.1em;
}

.friend_answer_score {
color:#000;
font-size:1.1em;
}


#play_display:focus { outline: none !important; border-color: #00cc00; box-shadow: 6px 5px 9px -9px black; }
#answer_result_id_display:focus { outline: none !important; border-color: #00cc00; box-shadow: 6px 5px 9px -9px black; }

.text_multiple_padding_css{
padding-top:0px;
padding-bottom:0px;
}

.text_padding_css{
padding-top:0px;
padding-bottom:0px;
}

.jiraksil_help {
height:auto;
border: 1px solid #aaaaaa;
padding:20px;
margin-top:20px;
font-size:1.1em;
border-radius: 5px;
box-shadow: 6px 5px 9px -9px black;
text-align:left;
}

.jiraksil_link{
font-size:2.0em;
font-weight:bold;
padding-top:10px;
padding-bottom:5px
}

.multiple_box {
width:100%;
padding:3px;
margin-bottom:3px;
text-align:center;
display:table;
}

.multiple {
width:100%;
height:50px;
padding:7px;
display:table;
text-align:center;
font-size:1.1em;
}

.multiple_image {
height:auto;
padding:5px;
object-fit: cover;
vertical-align: middle;
}

.multiple_image img {
max-width:100%;max-height:100%;text-align:center;float:left;display: flex;justify-content: center;align-items: center;
}

.multiple_image_btn
{
width:100%;
border: 1px solid #aaaaaa;
padding:2px;
display:table-cell;
vertical-align:middle;
}


.multiple_item_img {
max-width:80px;max-height:100%;text-align:center;float:left;display: flex;justify-content: center;align-items: center;
}


.multiple_item_text {
padding-left:5px;width: auto;float:none;overflow: hidden;display:flex;align-items: center;justify-content: left;height:60px
}

.multiple_btn
{
width:100%;
box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 3px rgba(0,0,0,.10);
font-size:1.0em;
border: 1px solid #aaaaaa;
padding:12px;
border-radius: 6px;
display:table-cell;
text-align:center;
vertical-align:middle;
}

#.multiple_btn:hover {
#  transform: scale(1.0);
#  box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
#  background-color:#16A085;
#  color:#ffffff;
#  font-weight:bold;
#}

.multiple_click {
transform: scale(1.0);
box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
background-color:#eeeeee;
border: 1px solid #6600ff;
color:#000000;
font-weight:bold;
}

.select_box {
max-width:360px;
padding:3px;
margin-bottom:3px;
margin-top:7px;
text-align:center;
display: inline-block;
}

.select {
width:100%;
height:50px;
padding:7px;
font-size:1.1em;
}

.select_delete_btn
{
width:43px;
box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 3px 4px rgba(0,0,0,.50);
font-size:1.4em;
color:#ffffff;
border: 1px solid #555555;
background-color:#F0B27A;
font-weight:bold;
padding:12px;
border-radius: 6px;
margin-bottom: 10px;
margin-left:4px;
margin-right:4px;
vertical-align:middle;
display: inline-block;
}

.select_delete_btn:hover {
  transform: scale(1.05);
  box-shadow: 0 10px 20px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
  background-color:#CB4335;
  color:#ffffff;
  font-weight:bold;
}

.friend_backlist {
position: absolute;
width:40px;
left:0px;
font-size:1.2em;
font-weight:bold;
#border-radius: 10px 0px 0px 0px;
text-align:center;
color:#ffffff;
background-color: #006600;
box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10); 
padding:10px;
cursor: pointer;
z-index:100;
}

.vs_backlist {
position: absolute;
width:40px;
left:0px;
font-size:1.2em;
font-weight:bold;
#border-radius: 10px 0px 0px 0px;
text-align:center;
color:#ffffff;
background-color: #006600;
box-shadow: 0 5px 10px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10); 
padding:10px;
cursor: pointer;
z-index:100;
}

.select_btn
{
width:43px;

box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 3px 4px rgba(0,0,0,.50);
font-size:1.4em;
color:#555555;
border: 1px solid #555555;
background-color:#FBF7F1;
font-weight:none;
padding:12px;
border-radius: 6px;
margin-bottom: 10px;
margin-left:4px;
margin-right:4px;
vertical-align:middle;
display: inline-block;
}

.select_click {
transform: scale(1.05);
box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 4px 8px rgba(0,0,0,.10);
background-color:#0E6655;
border: 1px solid #ffffff;
color:#ffffff;
font-weight:bold;
}

.item_list {
padding-top:15px;
}

.item_top_list {
    padding-top: 10px;
    /* Bootstrap row의 기본 마진 제거하여 양쪽 끝을 화면에 붙임 */
    margin-left: 0;
    margin-right: 0;
}

.startbox{
margin-top:10px;
padding-bottom:10px;
}

.presult{
height:auto;
margin-top:30px;
margin-bottom:30px;
font-size:1.2em;
text-align:center;
}

.list_top_title
{
padding:10px;
margin-top:10px;
margin-bottom:10px;
font-size:1.2em;
}

.list_title
{
margin-top:20px;
padding:10px;
font-size:1.2em;
}

.presult_normal {
font-size:1.3em;
color:#009900;
font-weight:bold;
}

.presult_care {
font-size:1.3em;
color:#ff6600;
font-weight:bold;
}

.presult_danger {
font-size:1.3em;
color:red;
font-weight:bold;
}

.member_top_display {
margin-top:0px;
margin-bottom:20px;
background-color:#f7f7f7;
border-bottom: 1px solid #eeeeee;
text-align:right;
padding:10px;
}

.member_top_display span {
color:#555555;
}

.jprogress {
overflow: hidden;
background-color: #f5f5f5;
border-radius: 4px;
text-align:left;
}

.jprogress-bar {
}

.jprogress-bar-red {
padding:5px;
background-color:red;
color:#ffffff;

}

.jprogress-bar-green {
padding:5px;
background-color:green;
color:#ffffff;
}

.jprogress-bar-avg {
padding:5px;
background-color:#D4AC0D;
color:#ffffff;
}

.jprogress-bar-olive {
padding:5px;
background-color:#808000;
color:#ffffff;
}

.jprogress-bar-teal {
padding:5px;
background-color:#008080;
color:#ffffff;
}

.jprogress-bar-navy {
padding:5px;
background-color:#000080;
color:#ffffff;
}

.jprogress-bar-warning {
padding:5px;
background-color:#FD8A8A;
color:#ffffff;
}

.jprogress-bar-BFDCE5 {
padding:5px;
background-color:#BFDCE5;
color:#344D67;
}

.jprogress-bar-88A47C {
padding:5px;
background-color:#88A47C;
color:#ffffff;
}

.jprogress-bar-F3ECB0 {
padding:5px;
background-color:#F3ECB0;
color:#344D67;
}

.jprogress-bar-344D67 {
padding:5px;
background-color:#344D67;
color:#ffffff;
}

.result_type_display {
width:90%;
text-align:left;
margin-top:30px;
}

.result_type_display .title {
font-weight:bold;
}

.result_help {
margin-top:20px;
padding:10px;
text-align:center;
}

.blur {
  filter: blur(5px);
}

.blurnone {
  filter: none;
}

.rollingbanner {
background-color:#ffffff;
padding-left:2px;
margin-top:30px;
margin-bottom:5px;
}

.rollingbanner .wrap {
padding:13px;
}

.rollingbanner .dot {
color:#cccccc;
}

.rollingbanner .wrap li a {
background-color:#F2F4F4;
border-radius: 6px;
padding:3px;
font-weight:none;
font-size:1.2em;
}

.blank_box {
display: inline-block;
width:35px;
height:35px;
background-color:#ffffff;
border: 1px solid #aaaaaa;
border-radius: 5px;
margin-left:2px;
margin-right:2px;
margin-bottom:16px;
}

.questions_text {
width:auto;
font-size:1.8em;
padding:0px;
font-weight:bold;

}

.quiz_q_display {
text-align:center;
}

#box_help {
	width: 100%;
	height: auto;
	margin-top:20px;
	border: 1px solid #cccccc;
	padding:10px;
	max-width:100%;
	font-size:1.1em;
	box-shadow: 0px 3px 3px rgba(0,0,0,.15), 2px 3px 3px rgba(0,0,0,.10);
}

.radio-label {
  display: inline-block;
  position: relative;
  padding-left: 25px;
  margin-right: 15px;
  margin-bottom: 10px;
  cursor: pointer;
  font-size: 1.1em;
  user-select: none;
}

.radio-label input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  top: 0;
  left: 0;
}

.radio-custom {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  border: 1px solid #ccc;
  border-radius: 50%;
}

.radio-label:hover input[type="radio"] ~ .radio-custom {
  border-color: #000;
}

.radio-label input[type="radio"]:checked ~ .radio-custom {
  background-color: #000;
  border-color: #000;
}

.radio-label .radio-custom:after {
  content: "";
  display: none;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
}

.radio-label input[type="radio"]:checked ~ .radio-custom:after {
  display: block;
}


.rank_display {
	margin-top:20px;
	text-align:left;
}

.rank_list_date {
font-size:0.9em;
}

.sub_btn_box_ideal {
  position: relative;
    width: 25%;
    height: auto;
	margin: 0 auto;
	/* box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.5); */
    border: 0px solid #aaaaaa;
	background-color:#ffffff;
	padding: 0px;
    border-radius: 10px;
    display: table-cell;
    vertical-align: middle;
	font-weight:bold;
}

.sub_btn_box_ideal:hover{
  transform: scale(1.02);
  background-color:#ffffcc;
  color:#000000;
  font-weight:bold;
}

.sub_btn_box {
    position: relative;
    width: 100%; /* 25%에서 100%로 변경하여 부모 컨테이너에 맞춤 */
    height: auto;
    margin: 0;
    /* box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.4); */
    border: 0px solid #aaaaaa;
    background-color: #ffffff;
    border-radius: 16px;
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
}

.sub_btn_box:hover {
    transform: scale(1.02);
    background-color: #ffffcc;
    color: #000000;
    font-weight: bold;
}

.sub_btn_ideal_box_make {
	width: 25%;
    height: 200px;
	margin: 0 auto;
	box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.4);
    font-size: 1.05em;
    border: 1px solid #aaaaaa;
	background-color:#ffffff;
	padding: 0px;
    display: table-cell;
	font-weight:bold;
}

.sub_btn_box_make {
	width: 25%;
    height: 180px;
	margin: 0 auto;
	box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.4);
    font-size: 1.05em;
    border: 1px solid #aaaaaa;
	background-color:#ffffff;
	padding: 0px;
    display: table-cell;
	font-weight:bold;
}

.sub_btn_box_make:hover {
  transform: scale(1.02);
   box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
  background-color:#ffffcc;
  color:#000000;
  font-weight:bold;
}

.sub_btn_box_make:hover .quizcount,
.sub_btn_box_make:hover .quizdelete {
  transform: scale(1.02);
   box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
  background-color:#ffffcc;
  color:#000000;
  font-weight:bold;
}

.quiz_item_youtube {
position: absolute;
left:50px;
bottom:0px;
z-index: 100;
box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
}
.quiz_item_count {
position: absolute;
width:auto;
right:45px;
top:-5px;
border-radius: 10px;
padding:5px;
background-color:#ffffcc;
box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
z-index: 100;
}
.quiz_item_image {
position: absolute;
width:auto;
left:5px;
bottom:0px;
background-color:#ffffcc;
box-shadow: 0px 3px 13px rgba(0, 0, 0, 0.3);
z-index: 100;
}

.ideal_btn_box {
position: absolute;
width:auto;
right:5px;
bottom:-3px;
}

.quiz_item_list_image {
position: absolute;
width:auto;
right:5px;
bottom:6px;
}

.quiz_list_title {
width:auto;
border-radius: 15px;
padding:3px;
font-weight:normal !important;
color:#000000;
font-size:0.9em;
border: 1px solid #cccccc;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
}

.quiz_list_title:hover {
  transform: scale(1.05);
 background-color:#ffffff; 
}

.quiz_item_list_youtube {
position: absolute;
width:auto;
right:45px;
bottom:6px;
background-color:#ffffff;
}

.quiz_list_title_youtube {
width:30px;
border-radius: 10px;
padding:1px;
font-weight:normal !important;
color:red;
font-size:1.1em;
border: 1px solid #cccccc;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
}

.ideal_rank {
position: absolute;
width:auto;
left:8px;
bottom:10px;
background-color:#eeeeee;
}

.ideal_rank_list {
max-width:70px;
border-radius: 0px;
padding:4px;
padding-left:5px;
padding-right:5px;
text-align:left;
font-weight:normal !important;
color:#000000;
font-size:1.0em;
border: 1px solid #cccccc;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
}

.ideal_play {
position: absolute;
width:auto;
right:8px;
bottom:10px;
background-color:#ffffff;
}

.ideal_play_list {
max-width:70px;
border-radius: 10px;
padding:4px;
padding-left:5px;
padding-right:5px;
text-align:left;
font-weight:normal !important;
color:#000000;
font-size:1.0em;
border: 1px solid #cccccc;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
}

.quiz_comment {
position: absolute;
width:auto;
left:5px;
bottom:6px;
background-color:#ffffff;
}

.quiz_comment_list {
max-width:50px;
border-radius: 10px;
padding:1px;
padding-left:5px;
padding-right:5px;
text-align:left;
font-weight:normal !important;
color:#000000;
font-size:1.0em;
border: 1px solid #cccccc;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.3);
}


.quiz_bg {
background-color:#eeeeee;
color:#006600;
}

.quizdelete {
position: absolute;
right:15px;
bottom:25px;
z-index: 100;
}

.quizcount {
position: absolute;
left:70px;
bottom:25px;
}

.quizpublic {
position: absolute;
left:13px;
bottom:25px;

}

.sub_btn_box_best {
  background-color:#FCF3CF;
}

.box_wlg {
    width: 100%;
    padding: 0px;
    display: inline-block;
}

.box_lg {
    height: 210px;
}

.box_lg2 {
height:220px;
}

.box_md {
height:150px;
}

.main_list_image_make
{
	width:100%;
	height:90px;
	border: 0px solid #ffffff;
	margin: 0 auto;
	object-fit: cover;
	overflow: hidden ;
}

.main_list_image_ideal
{
	width:100%;
	height:125px;
	border: 0px solid #ffffff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin: 0 auto;
	object-fit: cover;
	overflow: hidden ;
}

.main_list_image
{
	width:100%;
	height:130px;
	border: 0px solid #ffffff;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin: 0 auto;
	object-fit: cover;
	overflow: hidden ;
}

.sub_menu_box_make_title {
	padding-top:6px;
	padding:5px;
	display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  vertical-align: middle;
}

.sub_menu_box_title {
	margin-top:5px;
	padding:5px;
	font-size:13px;
  justify-content: left;
  align-items: left;
  text-align: left;
  vertical-align: middle;
}

.custom-input-group {
  margin-top:10px;
  border-radius: 20px;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.3);
  transition: all 0.2s ease-in-out;
}

.custom-input-group .form-control {
    height: 45px;    
	border-radius: 0 20px 20px 0px;
}

/* 버튼 높이를 입력창과 동일하게 맞춤 */
.custom-input-group .input-group-btn .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
	border-radius: 0 0px 0px 0px;
}

.sub_menu_btn_best {
  position: relative;
  max-width: 100%;
  float: left;
  padding: 5px;
  text-align: center;
  font-size: 1.1em;
}

.label-container {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: row;
}

.new-label-title {
	max-width:50px;
	justify-content: center;
	align-items: center;
	background-color: #00bfff;
	color: #ffffff;
	border-radius: 30%;
	padding: 2px;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 0.7em;
	margin-right: 2px;
}

.best-label-title {
	max-width:50px;
	justify-content: center;
	align-items: center;
	background-color: #ff6600;
	color: #ffffff;
	border-radius: 30%;
	padding: 2px;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 0.7em;
	margin-right: 2px;
}

.cat-sort-btn {
	max-width:120px;
	justify-content: center;
	align-items: center;
	background-color: #ffffff;
	border: 1px solid #bbbbbb;
	color: #000000;
	border-radius:30px;
	font-weight:bold;
	padding: 8px;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 1em;
	margin-right: 2px;
}

.cat-sort-btn-select {
	background-color: #00a896;
	border: 1px solid #bbbbbb;
	color: #ffffff;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 1em;
}

.cat-label-title {
	max-width:auto;
	background-color: #cccccc;
	border: 0px solid #cccccc;
	color: #000000;
	border-radius:30px;
	font-weight:bold;
	padding: 7px;
	font-size: 1em;
}

.cat-label {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #cccccc;
	border: 1px solid #bbbbbb;
	color: #000000;
	border-radius: 20%;
	padding: 3px;
    box-shadow: 0 3px 4px rgba(0,0,0,.15), 0 3px 4px rgba(0,0,0,.40);
	font-size: 0.8em;
	margin-top:2px;
	margin-right: 4px;
}

.best-label {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ff6600;
	color: #ffffff;
	border-radius: 30%;
	padding: 3px;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 0.8em;
	margin-top:2px;
	margin-right: 4px;
}

.new-label {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #00bfff;
	color: #ffffff;
	border-radius: 30%;
	padding: 4px;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 0.9em;
	margin-top:2px;
	margin-right: 4px;
}

.best-label-sl {
    content:"hot";
    font-size: 0.7em;
    background-color: #ffdd00;
    color: #130d20;
    border-radius: 30%;
    padding: 5px;
    position: absolute;
    top: -5px;
    right: -5px;
}

.new-label-sl {
    content:"new";
    font-size: 0.7em;
    background-color: #00bfff;
    color: #ffffff;
    border-radius: 30%;
    padding: 5px;
    position: absolute;
    top: -5px;
    right: -50px;
}


.sub_menu_btn:hover .label-container,
.sub_menu_btn:hover .best-label,
.sub_menu_btn:hover .cat-label,
.sub_menu_btn:hover .new-label {
  transform: scale(1.02);
}

.rank_title {
	text-align:left;
	padding:5px;
}


.btn_4 {
  display: inline-block;
  max-width: 100%;
  padding: 5px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  text-align: center;
  background-color: #f7f7f7;
  cursor: pointer;
  color: #555555;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}

.btn_5 {
  display: inline-block;
  max-width: 100%;
  padding: 5px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  text-align: center;
  background-color: #C00000;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}

.btn_7 {
  display: inline-block;
  max-width: 100%;
  padding: 5px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  text-align: center;
  background-color: #286090;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}


.btn_6_1 {
  display: inline-block;
  width: 30px;
  padding: 2px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  text-align: center;
  background-color: #ffffff;
  cursor: pointer;
  color: #000000;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}

.btn_6 {
  display: inline-block;
  width: 30px;
  padding: 2px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  text-align: center;
  background-color: #C00000;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}


.btn_1 {
  display: inline-block;
  max-width: 100%;
  padding: 5px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  font-size: 1.0em;
  text-align: center;
  background-color: #4CAF50;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}

.btn_simple:hover {
  transform: scale(1.05);
}

.btn_sm {
  display: inline-block;
  max-width: 100%;
  padding: 5px;
  border-radius: 20px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;

  cursor: pointer;
  color: #ffffff;
  margin-bottom: 10px;
  box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}

.btn_1:hover {
  transform: scale(1.05);
}

.btn_2 {
	background-color: #00a896;
    color: #ffffff;
}

.btn_2:hover {
	color: #ffffff;	
	transform: scale(1.05);
}

.btn_3 {
  background-color: #f7f7f7;
  color:#555555;
}

.btn_3:hover {
  transform: scale(1.05);
}

.btn_5:hover {
  transform: scale(1.05);
}

.btn_7:hover {
  transform: scale(1.05);
}

.btn_8 {
	background-color: #cc9900;
    color: #ffffff;
}

.btn_8:hover {
	color: #ffffff;	
	transform: scale(1.05);
}

.btn_red {
  background-color: #eb3b00;
  color:#ffffff;
}

.btn_red:hover {
  transform: scale(1.05);
}

.overflow-ellipsis {
	width:100px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.table-custom {
    border-collapse: collapse;
    width: 100%;
    margin: 0px auto;
  }

.table-custom table, th, td {
    border: 1px solid #eeeeee;
  }

.table-custom td {
	width:25%;
  }

.btn_4:hover {
	  transform: scale(1.05);
	  background-color:#009900;
	  color:#ffffff;
}

.testgo {
	max-width:60px;
	justify-content: center;
	align-items: center;
	border: 1px solid #aaaaaa;
	background-color: #eeeeee;
	color: #555555;
	border-radius: 30%;
	padding: 3px;
    box-shadow: 0 2px 3px rgba(0,0,0,.15), 0 2px 4px rgba(0,0,0,.10);
	font-size: 0.8em;
	margin-right: 2px;
}

.list_top_title {
text-align:left;
}

.submemuselect {
    font-weight: bold;
    background-color: #eeeeee;
    box-shadow: 0 2px 4px rgba(0,0,0,.15), 0 2px 3px rgba(0,0,0,.10);
}


.upload_layer {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 600px;
    padding: 20px;
	display:none;
    background-color: #ffffff;
    color: #222222;
    font-size: 1.1em;
    text-align: center;
    border-radius: 20px;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.3);
    z-index: 101;
}

@media (max-width: 767px) {
    .upload_layer {
        width: 90;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 10px;
        font-size: 1em;
        border-radius: 10px;
        box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
    }
}

.login {
font-size:1.1em;
font-weight:bold;
}

.box_shadow_list {
    height: auto;
    margin: 0 auto;
    padding: 5px;
    border-radius: 20px;
    background-color: #ffffff;
    color: #222222;
    font-size: 1.0em;
    text-align: center;
    box-shadow: 1px 2px 7px rgba(0, 0, 0, 0.3);
}

.box_shadow_boardlist {
    height: auto;
    margin: 0px auto;
    padding: 8px;
    border-radius: 0px;
    background-color: #ffffff;
    color: #222222;
    font-size: 1.0em;
    text-align: center;
	margin-bottom:7px;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
}

.btn_simple {
  display: inline-block;
  max-width: 100%;
  padding: 7px;
  border-radius: 30px;
  border: none;
  font-weight: bold;
  font-size: 1.1em;
  text-align: center;
  background-color: #4CAF50;
  cursor: pointer;
  color: #ffffff;
  margin-bottom: 2px;
  box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.3);
}

.onlist:hover {
  transform: scale(1.0);
    background-color: #eeeeee;
}

#socialAuth .naver {
    background-color: #1ec800;
}

#socialAuth a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    margin-bottom: 5px;
    color: #fff;
    background-color: var(--alpha-10);
    border-radius: 8px;
}

#socialAuth a img {
    width: 16px;
    height: 16px;
    margin-right: 10px;
}

.quiz_view_img
{
	width:100%;
	max-height:250px;
	border: 0px solid #ffffff;
    border-radius: 10px 10px 0px 0px;
	margin: 0 auto;
	object-fit: cover;
	overflow: hidden ;
}

.batch_image_list {
	position: relative;
	max-width:100%;
	text-align:center;
	height:180px;
	overflow:hidden;
	border: 0px solid #eeeeee;
	padding:5px;
}

.batch_image_list img {
	width: 150px;
	justify-content : center;
	align-items : center;
	text-align : center;
	max-height:130px;
	overflow:hidden;

}

.batch_image_list_doc {
    position: absolute;
	width: 100%;
	top: 10px;
	text-align:left;
	left:5px;
}

.ideal_sub_menu_box_title {
	max-width:100px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding-top:4px;
}

.ideal_list_new_image {
border-radius: 7px;
border: 3px solid #ffffff;
}

.ideal_list_new_image_list {
max-height:80px;
}

  .player_sm {
        width: 160px;
        height: 160px;
		position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }

.player {
        width: 190px;
        height: 190px;
		position: relative;
        background-color: #ddd;
        border-radius: 30%;
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
}

.play-button {
        width: 60px;
        height: 60px;
        background-color: #ff3d00;
        border-radius: 50%;
        display: flex;
		color:#ffffff;
		font-size:1.4em;
		cursor: pointer;
		font-weight:bold;
        justify-content: center;
        align-items: center;
		box-shadow: 10px 8px 10px rgba(0, 0, 0, 0.3);
        animation: shake 0.2s linear infinite; /* 흔들리는 애니메이션 적용 */
    }


.play-button:hover {
  transform: scale(1.05);
}

    @keyframes vibrate {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }

.playerbtn {
	color:#ffffff;
	font-size:2.0em;
	cursor: pointer;
}

.instalist_text{
position: relative;
max-width:100%;
height: auto;
overflow: hidden;
padding:10px;
border: 0px solid #eeeeee;
margin-bottom:10px;
border-radius: 10px;
}

.item_top_list {
padding-top:10px;
}

.item_bio_text {
float: none;
width: auto;
overflow: hidden;
text-align:left;
padding:7px;
padding-top:0px;
}

.item_full_text_name
{
font-weight:bold;
font-size:1.1em;
color::#555555;
}

.item_full_name
{
font-weight:bold;
font-size:1.3em
}

.item_biography{
padding-top:5px;
}

.item_info_biography{
padding-top:5px;
}

.item_username{
margin-top:3px;
font-weight:bold;
font-size:1.0em;
color:blue;
font-family:"Helvetica Neue", Sans-Serif;
}

.answer_result_answer_view_tmp {

	width:200px;
    z-index: 199;
    background-color: #ffffff;
    text-align: center;
	margin-bottom:10px;
    display: flex;	
    justify-content: center;
    align-items: center;
}

.answer_result_answer_view {
	width:100%;
    z-index: 199;
    text-align: center;
	margin-bottom:10px;
    display: flex;	
    justify-content: center;
    align-items: center;
}

.answer_result_view_box {
    position: absolute;
    z-index: 199;
}

.answer_result_view {
    position: absolute;
    z-index: 199;
    box-shadow: 4px 3px 10px rgba(0, 0, 0, 0.3);
    top: 50%;
	border-radius: 10px;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.truncate-link {
    font-weight: bold;
    display: inline-block;          /* 요소가 블록처럼 동작하도록 설정 */
    max-width: 8ch;                 /* 약 4자의 너비로 제한 */
    white-space: nowrap;            /* 텍스트를 한 줄로 표시 */
    overflow: hidden;               /* 넘치는 텍스트 숨기기 */
    position: relative;             /* ::after를 위한 상대 위치 지정 */
    vertical-align: bottom;         /* 링크의 세로 정렬 조정 (선택 사항) */
    color: #000000;                 /* 링크 색상 (선택 사항) */
    text-decoration: none;          /* 링크의 밑줄 제거 (선택 사항) */
}

/* 기본 ellipsis 제거 */
.truncate-link::after {
    content: '..';                 /* 기본 점 대신 커스텀 점 사용 */
    position: absolute;
    right: 0;
    top: 0;
    background: #fff;              /* 배경색과 일치시켜 점이 자연스럽게 보이도록 설정 */
    padding-left: 2px;              /* 점과 텍스트 사이 간격 조정 */
    /* 필요에 따라 배경색을 조정하거나 다른 스타일을 추가할 수 있습니다 */
}

.make-textarea {
    border: none;
    outline: none;
    border-top: none !important;
    padding-top: 0;
    box-sizing: content-box;
}

.none-select {
  user-select: none; 
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.privacy a {
	font-size: 0.9em;
}
/* ========== 태그 버튼 디자인 (세련된 Pill 스타일) ========== */
.tag-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px; /* 버튼 사이 간격 */
    margin: 13px 0;
}

.tag-btn {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 50px; /* 둥근 알약 모양 */
    background-color: #f3f4f6; /* 평소엔 연한 회색 */
    color: #6b7280; /* 글자는 진한 회색 */
    font-size: 0.95em;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

/* 마우스 올렸을 때 */
.tag-btn:hover {
    background-color: #e5e7eb;
    transform: translateY(-2px); /* 살짝 떠오름 */
    color: #374151;
    text-decoration: none;
}

/* 선택되었을 때 (Active) - 기존 테마 색상 적용 */
.tag-btn.active, 
.tag-btn:active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); /* 부드러운 그림자 */
    font-weight: 600;
    transform: translateY(0);
}

/* 모바일 대응 */
@media (max-width: 480px) {
    .tag-btn {
        padding: 6px 14px;
        font-size: 0.9em;
    }
}


   /* 전체 래퍼 */
    .menu-wrapper {
        position: relative;
        margin-top: 20px;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        z-index: 50;
    }

    /* 1. 상단 1줄 (Flexbox) */
    .top-menu-row {
        display: flex;
        align-items: center;
        height: 50px;
        position: relative;
        z-index: 10; /* 레이어보다 낮게 설정 */
        background: #fff;
        border-radius: 8px 8px 0 0;
    }

    /* 공통 메뉴 아이템 디자인 */
    .menu-item-cell {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 50px;
        border-right: 1px solid #eee;
        font-weight: 500;
        color: #444;
        cursor: pointer;
        transition: all 0.2s;
        background: #fff;
    }

    .top-menu-row .menu-item-cell:last-of-type { border-right: none; }

    .menu-item-cell.active {
        background-color: #f0f7ff;
        color: #007bff;
        font-weight: 800;
    }
    .menu-item-cell:hover {
        background-color: #f8f9fa;
        color: #000;
    }

    .menu-item-cell a {
        display: block;
        width: 100%;
        height: 100%;
        line-height: 50px;
        text-align: center;
        text-decoration: none;
        color: inherit;
    }

    /* 더보기 버튼 */
    .more-trigger-btn {
        width: 50px;
        height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #f8f9fa;
        cursor: pointer;
        border-left: 1px solid #ddd;
        color: #666;
        font-size: 16px;
        transition: background 0.2s;
    }
    .more-trigger-btn:hover {
        background-color: #e9ecef;
        color: #333;
    }

    /* 2. [기본 출력] 태그 영역 */
    .quiz-tags-expanded {
        position: relative;
        z-index: 5;
        padding: 3px 5px;
        background-color: #fcfcfc;
        border-top: 1px solid #eee;
        text-align: center;
        border-radius: 0 0 8px 8px;
    }

    /* 3. [확장] 전체 메뉴 레이어 (수정됨: 상단 덮어쓰기) */
    .menu-overlay-layer {
        display: none;
        position: absolute;

        /* ▼▼▼ 상단 메뉴를 완전히 덮도록 위치 수정 ▼▼▼ */
        top: -1px;  /* border 두께만큼 위로 */
        left: -1px; /* border 두께만큼 왼쪽으로 */
        width: calc(100% + 2px); /* 전체 덮기 */
        z-index: 100; /* 상단 메뉴(10)보다 훨씬 높게 설정 */
        /* ▲▲▲ 수정 끝 ▲▲▲ */

        background: #fff;
        border: 1px solid #ddd;
        border-radius: 8px;
        box-shadow: 0 5px 20px rgba(0,0,0,0.15); /* 떠있는 느낌 그림자 */
        overflow: hidden;
    }

    /* 닫기 바 (헤더 역할) */
    .menu-close-header {
        display: flex;
        align-items: center;
        justify-content: space-between; /* 좌우 정렬 */
        height: 50px;
        padding: 0 15px;
        background-color: #f8f9fa;
        border-bottom: 1px solid #eee;
    }
    .menu-title-text {
        font-weight: 700;
        color: #333;
        font-size: 15px;
    }
    .close-btn-area {
        cursor: pointer;
        color: #666;
        font-size: 20px;
        padding: 5px;
    }

    /* 4. 전체 메뉴 그리드 시스템 */
    .full-menu-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr); /* 4열 고정 */
        width: 100%;
        background-color: #fff;
    }

    .full-menu-item {
        border-right: 1px solid #eee;
        border-bottom: 1px solid #eee;
        height: 50px;
    }
    .full-menu-item:nth-child(4n) { border-right: none; }

    /* 5. 확장 태그 영역 */
    .full-menu-tags-row {
        grid-column: 1 / -1;
        padding: 15px 10px;
        background-color: #fcfcfc;
        border-bottom: 1px solid #eee;
        text-align: center;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 5px;
    }
	
/* ========== 헤더 ========== */
.site-header {

  top: 0;
  z-index: 99;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
}

.header-inner {
  display: flex;
  align-items: center;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 12px;
  height: 56px;
  gap: 12px;
}

/* ── 로고 ── */
.header-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.header-logo-img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
}

.header-logo-img:hover {
  transform: scale(1.05);
}

/* ── PC 검색바 (헤더 내장) ── */
.header-search {
  flex: 1;
  display: flex;
  align-items: center;
  max-width: 340px;
  height: 40px;
  background: #f3f4f6;
  border: 1.5px solid transparent;
  border-radius: 20px;
  padding: 0 5px 0 14px;
  transition: all 0.25s ease;
}

.header-search:focus-within {
  background: #fff;
  border-color: #ccc;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
}

.header-search-icon {
  flex-shrink: 0;
  font-size: 13px;
  color: #aaa;
  margin-right: 8px;
  transition: color 0.2s;
}

.header-search:focus-within .header-search-icon {
  color: #555;
}

.header-search-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 13.5px;
  font-weight: 500;
  color: #222;
  padding: 0;
  min-width: 0;
}

.header-search-input::placeholder {
  color: #bbb;
  font-weight: 400;
}

.header-search-btn {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: #222;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.header-search-btn:hover {
  background: #444;
  transform: scale(1.05);
}

/* ── 모바일 검색 토글 버튼 ── */
.header-search-toggle {
  display: none; /* PC에서는 숨김 */
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: #f3f4f6;
  color: #666;
  font-size: 14px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.header-search-toggle:hover {
  background: #e8e8e8;
  color: #222;
}

/* ── 네비게이션 ── */
.header-nav {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-shrink: 0;
  margin-left: auto;
}

.header-nav-link {
  display: inline-flex;
  align-items: center;
  padding: 6px 13px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.header-nav-link:hover {
  background: #f0f0f0;
  color: #222;
}

.header-login-btn {
  background: #222;
  color: #fff;
}

.header-login-btn:hover {
  background: #444;
  color: #fff;
}

.header-nav-user {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  background: #f5f5f5;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.2s ease;
  max-width: 110px;
  white-space: nowrap;
  overflow: hidden;
}

.header-nav-user span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-nav-user i {
  flex-shrink: 0;
  font-size: 14px;
  color: #888;
}

.header-nav-user:hover {
  background: #eaeaea;
  color: #111;
}

/* ── 모바일 전체폭 검색 (슬라이드) ── */
.header-search-mobile {
  display: none; /* 기본 숨김 */
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  background: #fff;
  z-index: 200;
  padding: 0 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  animation: searchSlideDown 0.2s ease;
}

.header-search-mobile.active {
  display: flex;
  align-items: center;
}

@keyframes searchSlideDown {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

.header-search-mobile-inner {
  display: flex;
  align-items: center;
  flex: 1;
  height: 42px;
  background: #f3f4f6;
  border-radius: 21px;
  padding: 0 6px 0 14px;
}

.header-search-mobile-inner:focus-within {
  background: #fff;
  border: 1.5px solid #ccc;
}

.header-search-close {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #888;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.header-search-close:hover {
  background: #eee;
  color: #333;
}

/* =============== 반응형 =============== */

/* 모바일 (640px 이하) */
@media (max-width: 640px) {
  .header-inner {
    padding: 0 10px;
    height: 50px;
    gap: 8px;
  }

  .header-logo-img {
    width: 34px;
    height: 34px;
  }

  /* PC 검색바 숨기고 토글 버튼 표시 */
  .header-search {
    display: none;
  }

  .header-search-toggle {
    display: flex;
  }

  /* 네비 축소 */
  .header-nav {
    gap: 3px;
  }

  .header-nav-link {
    padding: 5px 10px;
    font-size: 12px;
  }

  .header-nav-user {
    padding: 4px 9px;
    font-size: 12px;
    max-width: 80px;
  }

  .header-search-mobile {
    height: 50px;
  }
}

/* 태블릿 (641px ~ 768px) */
@media (min-width: 641px) and (max-width: 768px) {
  .header-search {
    max-width: 240px;
  }
}

/* ============================================
   네비게이션 메뉴
   ============================================ */
.nav-menu {
  max-width: 100%;
  margin: 0px auto;
  padding: 0px;
}

/* ── 메인 메뉴 바 ── */
.nav-menu-inner {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  margin-top: 11px;
  padding:2px;
}

.nav-menu-scroll {
  display: flex;
  flex: 1;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.nav-menu-scroll::-webkit-scrollbar {
  display: none;
}

.nav-menu-item {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  padding: 0 18px;
  font-size: 13.5px;
  font-weight: 600;
  color: #777;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.nav-menu-item:hover {
  color: #222;
  background: #f8f8f8;
}

.nav-menu-item.active {
  color: #222;
}

.nav-menu-item.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 3px;
  background: #222;
  border-radius: 3px;
}

/* 더보기 버튼 */
.nav-menu-more {
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border: none;
  background: none;
  color: #999;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid #f0f0f0;
  transition: all 0.2s ease;
}

.nav-menu-more:hover {
  background: #f5f5f5;
  color: #333;
}

/* ── 태그 가로 스크롤 ── */
.nav-tags {
  position: relative;
  margin-top: 10px;
  overflow: hidden;
}

/* PC 좌우 그라데이션 + 화살표 */
.nav-tags-arrow {
  display: none; /* 기본 숨김 */
  position: absolute;
  top: 0;
  bottom: 0;
  width: 36px;
  border: none;
  background: transparent;
  color: #555;
  font-size: 12px;
  cursor: pointer;
  z-index: 5;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
  opacity: 0;
  pointer-events: none;
}

.nav-tags-arrow-left {
  left: 0;
  background: linear-gradient(to right, #fff 60%, transparent);
  padding-right: 10px;
}

.nav-tags-arrow-right {
  right: 0;
  background: linear-gradient(to left, #fff 60%, transparent);
  padding-left: 10px;
}

.nav-tags-arrow.visible {
  opacity: 1;
  pointer-events: auto;
}

/* PC에서만 화살표 표시 */
@media (min-width: 641px) {
  .nav-tags-arrow {
    display: flex;
  }
}

.nav-tags-scroll {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 2px 0 6px;
  scroll-behavior: smooth;
  /* PC 드래그 스크롤용 */
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}

.nav-tags-scroll::-webkit-scrollbar {
  display: none;
}

.nav-tags-scroll:active {
  cursor: grabbing;
}

.nav-tag {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 50px;
  background: #f3f4f6;
  color: #666;
  font-size: 12.5px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  border: 1.5px solid transparent;
  transition: all 0.2s ease;
}

.nav-tag:hover {
  background: #e9eaec;
  color: #333;
  transform: translateY(-1px);
}

.nav-tag.active {
  background: #222;
  color: #fff;
  font-weight: 600;
  border-color: #222;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* 모바일에서 화살표 영역 패딩 제거 */
@media (max-width: 640px) {
  .nav-tag {
    padding: 5px 12px;
    font-size: 12px;
  }
}

/* ============================================
   전체메뉴 오버레이
   ============================================ */
.fullmenu-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1000;
  animation: overlayFadeIn 0.2s ease;
}

.fullmenu-overlay.active {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 60px;
}

@keyframes overlayFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* 패널 */
.fullmenu-panel {
  width: 92%;
  max-width: 520px;
  max-height: 75vh;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  animation: panelSlideUp 0.25s ease;
}

@keyframes panelSlideUp {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* 헤더 */
.fullmenu-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.fullmenu-title {
  font-size: 16px;
  font-weight: 700;
  color: #222;
}

.fullmenu-close {
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: #f3f4f6;
  color: #888;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.fullmenu-close:hover {
  background: #e8e8e8;
  color: #333;
}

/* 바디 */
.fullmenu-body {
  overflow-y: auto;
  max-height: calc(75vh - 66px);
  padding: 12px;
}

/* 그리드 */
.fullmenu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.fullmenu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: 12px;
  background: #f8f9fa;
  color: #555;
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.fullmenu-item:hover {
  background: #eef0f2;
  color: #222;
  transform: translateY(-1px);
}

.fullmenu-item.active {
  background: #222;
  color: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
}

/* 전체메뉴 내 태그 */
.fullmenu-tags {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #f0f0f0;
}

.fullmenu-tags-label {
  font-size: 11px;
  font-weight: 700;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  padding-left: 4px;
}

.fullmenu-tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* ============================================
   반응형
   ============================================ */
@media (max-width: 640px) {
  .nav-menu {
    padding: 0 0px;
  }

  .nav-menu-inner {
    border-radius: 12px;
    margin-top: 9px;
	padding:2px;
  }

  .nav-menu-item {
    height: 42px;
    padding: 0 10px;
    font-size: 12.5px;
  }

  .nav-menu-item.active::after {
    width: 16px;
    height: 2.5px;
  }

  .nav-menu-more {
    width: 42px;
    height: 42px;
    font-size: 14px;
  }

  .nav-tag {
    padding: 5px 12px;
    font-size: 12px;
  }

  /* 전체메뉴 모바일 */
  .fullmenu-overlay.active {
    padding-top: 0;
    align-items: flex-end;
  }

  .fullmenu-panel {
    width: 100%;
    max-width: 100%;
    max-height: 85vh;
    border-radius: 20px 20px 0 0;
    animation: panelSlideUpMobile 0.3s ease;
  }

  @keyframes panelSlideUpMobile {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
  }

  .fullmenu-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }

  .fullmenu-item {
    height: 44px;
    font-size: 12.5px;
    border-radius: 10px;
  }
}

@media (min-width: 641px) and (max-width: 768px) {
  .nav-menu-item {
    padding: 0 14px;
    font-size: 13px;
  }
}

/* ========== 검색바 ========== */
.search-bar {
  max-width: 500px;
  margin: 20px auto 10px;
  padding: 0 16px;
}

.search-bar-inner {
  display: flex;
  align-items: center;
  height: 48px;
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-radius: 24px;
  padding: 0 6px 0 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.25s ease;
}

.search-bar-inner:focus-within {
  border-color: #888;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.search-bar-icon {
  flex-shrink: 0;
  font-size: 14px;
  color: #aaa;
  margin-right: 10px;
  transition: color 0.2s ease;
}

.search-bar-inner:focus-within .search-bar-icon {
  color: #555;
}

.search-bar-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  font-weight: 500;
  color: #222;
  padding: 0;
  min-width: 0;
}

.search-bar-input::placeholder {
  color: #bbb;
  font-weight: 400;
}

.search-bar-btn {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  background: #222;
  color: #fff;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.search-bar-btn:hover {
  background: #444;
  transform: scale(1.05);
}

.search-bar-btn:active {
  transform: scale(0.95);
}

/* 모바일 대응 */
@media (max-width: 480px) {
  .search-bar {
    margin: 14px auto 8px;
    padding: 0 10px;
  }

  .search-bar-inner {
    height: 44px;
    padding: 0 5px 0 14px;
  }

  .search-bar-input {
    font-size: 13px;
  }

  .search-bar-btn {
    width: 32px;
    height: 32px;
    font-size: 12px;
  }
}

/* ========== 리스트 헤더 ========== */
.list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1200px;
  margin: 20px auto 12px;
  padding: 0 4px;
}

.list-header-title {
  font-size: 17px;
  font-weight: 800;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list-header-count {
  font-size: 12px;
  font-weight: 600;
  color: #aaa;
  flex-shrink: 0;
}

/* 정렬 칩 */
.list-header-sort {
  display: flex;
  gap: 6px;
  flex-shrink: 0;
}

.sort-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border-radius: 50px;
  background: #f3f4f6;
  color: #888;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.sort-chip i {
  font-size: 10px;
}

.sort-chip:hover {
  background: #e9eaec;
  color: #333;
}

.sort-chip.active {
  background: #222;
  color: #fff;
  border-color: #222;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.sort-chip.active i {
  color: #FFD43B;
}


/* 뱃지 */
.list-header-badge {
  flex-shrink: 0;
  padding: 3px 9px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
}

.list-header-badge.new {
  background: #E8F5E9;
  color: #2E7D32;
}

.list-header-badge.hot {
  background: #FFF3E0;
  color: #E65100;
}

.list-header-badge.best {
  background: #EDE7F6;
  color: #5E35B1;
}


/* 더보기 링크 */
.list-header-more {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 50px;
  background: #f3f4f6;
  color: #888;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.list-header-more i {
  font-size: 9px;
  transition: transform 0.2s ease;
}

.list-header-more:hover {
  background: #e9eaec;
  color: #333;
}

.list-header-more:hover i {
  transform: translateX(2px);
}


/* 모바일 */
@media (max-width: 480px) {
  .list-header {
    margin: 14px auto 10px;
  }

  .list-header-title {
    font-size: 15px;
  }
  
   .list-header-badge {
    padding: 2px 7px;
    font-size: 9px;
  }

  .list-header-more {
    padding: 5px 10px;
    font-size: 11px;
  }
  

  .sort-chip {
    padding: 5px 11px;
    font-size: 11.5px;
  }
}

/* ========== 페이지 타이틀 바 ========== */
.page-title-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  margin: 10px auto;
  padding: 6px 10px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border: 1px solid #f0f0f0;
}

.page-back-btn {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 12px;
  background: #f3f4f6;
  color: #555;
  font-size: 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.page-back-btn:hover {
  background: #e5e6e8;
  color: #222;
  transform: translateX(-2px);
}

.page-back-btn:active {
  transform: translateX(-1px) scale(0.95);
}

.page-title-text {
  flex: 1;
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: #222;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 모바일 */
@media (max-width: 480px) {
  .page-title-bar {
    margin: 8px 0px;
    padding: 6px 10px;
    border-radius: 14px;
    gap: 10px;
  }

  .page-back-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 14px;
  }

  .page-title-text {
    font-size: 15px;
  }
}

.header-right {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

:root{
  --bg:#0b0f17;
  --panel:#0f1623;
  --card:#111b2b;
  --border:rgba(255,255,255,.08);
  --text:rgba(255,255,255,.92);
  --muted:rgba(255,255,255,.65);
  --shadow:0 10px 30px rgba(0,0,0,.25);
  --r:13px;
  --gap:14px;
  --chip:rgba(255,255,255,.10);
  --chipBorder:rgba(255,255,255,.14);
  --primary:#4f8cff;
  --danger:#ff4d4f;
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#f6f7fb;
    --panel:#ffffff;
    --card:#ffffff;
    --border:rgba(0,0,0,.08);
    --text:rgba(0,0,0,.88);
    --muted:rgba(0,0,0,.55);
    --shadow:0 10px 30px rgba(0,0,0,.08);
    --chip:rgba(0,0,0,.06);
    --chipBorder:rgba(0,0,0,.10);
  }
}

.qz-wrap{
  max-width: 100%;
  margin: 0 auto;
  padding: 0px 0px 80px;
}

/* Header */
.list-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin: 12px 0 14px;
}


.list-header-sort{
  display:flex;
  gap:8px;
  flex-wrap: wrap;
  justify-content:flex-end;
}

.sort-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  border:1px solid var(--border);
  background: var(--panel);
  color: var(--text);
  text-decoration:none;
  font-size: 13px;
}
.sort-chip.active{
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
  border-color: color-mix(in srgb, var(--primary) 55%, var(--border));
  color: #111827 !important;
  font-weight: 700;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 16%, transparent);
}
.sort-chip.active:link,
.sort-chip.active:visited,
.sort-chip.active:hover,
.sort-chip.active:active{
  color: #111827 !important;
}
.sort-chip.active i{
  color: color-mix(in srgb, var(--primary) 72%, #111827) !important;
}

/* Grid — 4열 고정, 태블릿 2열, 모바일 2열 */
.quiz-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
}
@media (max-width: 768px) {
  .quiz-grid { grid-template-columns: repeat(2, 1fr); }
}
/* Card */
.quiz-card{
  background: var(--card);
  border-radius: var(--r);
  overflow:hidden;
  box-shadow: var(--shadow);
  transform: translateZ(0);
  display: flex;
  flex-direction: column;
  height: 100%;
}

.quiz-card a{
  text-decoration:none;
  color: inherit;
  display:block;
}

.quiz-media{
  position:relative;
  aspect-ratio: 16/10;
  background: var(--panel);
  overflow:hidden;
}

.quiz-media a {
    display: block;
    width: 100%;
    height: 100%;
}

.quiz-media video,
.quiz-media img {
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  transition: transform .25s ease;
}
@media (max-width: 480px) {
  .quiz-media { aspect-ratio: 4.2/3; }
}

@media (hover:hover){
  .quiz-card:hover { transform: scale(1.02); }
  .quiz-card:hover { background:  var(--bg); }
  .quiz-card:hover .quiz-title { font-weight: 700; }
  
}

/* overlay badges */
.quiz-overlay{
  position:absolute;
  inset:0;
  z-index:100;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding: 6px;
  pointer-events: none !important;
}

.quiz-badges-top,
.quiz-badges-bottom{
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
  align-items: center;
  
  /* [핵심 수정] */
  align-self: flex-end; /* 부모가 column일 때 가로축(우측) 끝으로 이동하며 크기도 줄어듦 */
  pointer-events: auto !important;
}

.quiz-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--chip);
  color: rgba(255,255,255,.92);
  font-size: 12px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.quiz-chip i{ font-size:10px; }

/* 아이콘만 있는 칩 (텍스트 없음) */
.quiz-chip:has(> i:only-child) {
  width: 26px;
  padding: 0;
  justify-content: center;
  gap: 0;
}

/* 영상/댓글 뱃지는 살짝 더 투명 */
.quiz-chip.secondary{
  background:rgba(0,0,0,.42);
  font-weight:500;
}

.quiz-chip.dark{
  background: rgba(0,0,0,.35);
  border-color: rgba(255,255,255,.14);
  font-weight: 400;
  font-size:12px;
}

.quiz-chip.dark:hover{
	background: rgba(55,20,10,.80);
    border-color: rgba(255,200,0,.65);
	font-weight: 700;
}

/* YouTube badge: 아이콘=유튜브 레드, 텍스트=흰색 */
.quiz-chip.youtube{
    background: rgba(255,0,0,.55);
  color: #fff !important;               /* ✅ 텍스트는 흰색 고정 */
  font-weight: 400;

}

.quiz-chip.youtube i{
  color: #fff !important;               /* ✅ 텍스트는 흰색 고정 */
  font-weight: 700;
  font-size:13px;
}

/* (선택) 호버 시 살짝 강조 */
@media (hover:hover){
  .quiz-chip.youtube:hover{
    background: rgba(0,0,0,.55);
    border-color: rgba(255,0,0,.65);
  }

  .quiz-chip.youtube i:hover{
  color: #fff;
  font-weight: 700;
  font-size:13px;
}

}

/* 주관식 / 객관식 / 혼합 타입 칩 */
.quiz-chip.type-sub {
  background: rgba(99,102,241,.52);
  color: #e0e7ff;
}
.quiz-chip.type-obj {
  background: rgba(16,185,129,.48);
  color: #d1fae5;
}
.quiz-chip.type-mixed {
  background: rgba(245,158,11,.48);
  color: #fef3c7;
}

.quiz-body{
  padding: 12px 12px 14px;
  flex: 1;
}

.quiz-title{
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 5px;
  display:-webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
  color: var(--text);
  word-break: keep-all;
}

.quiz-desc{
  font-size: 12px;
  color: var(--muted);
  line-height: 1.45;
  margin: 0 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: keep-all;
}

.quiz-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  color: var(--muted);
  font-size: 11px;
  align-items: center;
}

.quiz-tag{
  display:inline-flex;
  align-items:center;
  height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  border:1px solid var(--border);
  background: color-mix(in srgb, var(--panel) 85%, transparent);
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  max-width: 90px;
  text-overflow: ellipsis;
}

/* Skeleton */
.skeleton{
  position:relative;
}
.skeleton .quiz-media,
.skeleton .quiz-title,
.skeleton .quiz-meta{
  background: linear-gradient(90deg, rgba(255,255,255,.06), rgba(255,255,255,.12), rgba(255,255,255,.06));
  background-size: 200% 100%;
  animation: shimmer 1.2s infinite linear;
}
.skeleton .quiz-title{ height: 36px; border-radius: 10px; margin: 0 0 10px; }
.skeleton .quiz-meta{ height: 14px; border-radius: 10px; width: 60%; }
@keyframes shimmer{
  0%{ background-position: 0% 0; }
  100%{ background-position: 200% 0; }
}

/* Load footer */
.load-footer{
  display:flex;
  justify-content:center;
  margin-top: 18px;
}
.load-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  height: 42px;
  padding: 0 14px;
  border-radius: 14px;
  border:1px solid var(--border);
  background: var(--panel);
  color: var(--text);
  cursor:pointer;
}
.load-more[disabled]{
  opacity:.6;
  cursor:not-allowed;
}

/* Sentinel */
#infiniteSentinel{
  height: 1px;
}

/* 원본 레이아웃 유지를 위한 필수 CSS */
.sub_btn_box {
    position: relative; /* 배지 위치 기준점 */
    overflow: hidden;   /* 둥근 모서리 유지 */
}

/* 이미지 영역을 감싸는 틀 (이미지 우측 하단 배치를 위해 필요) */
.list-img-frame {
    position: relative;
    display: block;
    width: 100%;
    /* 기존 이미지 비율 깨짐 방지 */
}

/* 카테고리 배지 위치 (이미지 우측 하단 고정) */
a.quiz_item_list_image {
    position: absolute !important;
    bottom: 5px;
    right: 5px;
    z-index: 10;
    display: inline-block;
    padding: 3px 8px;
    background: rgba(0,0,0,0.7); /* 가독성을 위한 배경 */
    color: #fff !important;
    font-size: 11px;
    border-radius: 4px;
    text-decoration: none;
}

a.quiz_item_list_image:hover {
    background: #000;
}

/* 제목 링크 스타일 초기화 (박스 전체 링크 느낌 유지) */
a.box-link-area {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
}

/* ── 이상형 월드컵 리스트 전용 스타일 ── */

/* 카드 기본 */
.sub_btn_box_ideal {
    position: relative;
    overflow: hidden;
}

/* 썸네일 */
.main_list_image_ideal {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

/* 호버 플레이 버튼 */
.ideal-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.93);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    color: #667eea;
    box-shadow: 0 4px 14px rgba(0,0,0,0.3);
    opacity: 0;
    transition: opacity .2s, transform .2s;
    z-index: 10;
    pointer-events: none;
}
.sub_btn_box_ideal:hover .ideal-play-btn {
    opacity: 1;
    transform: translate(-50%, -55%) scale(1.08);
}

/* ── 카드 하단 정보 바 ── */
.ideal-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 10px;
    background: #f8f7ff;
    border-top: 1px solid rgba(102,126,234,0.1);
    gap: 6px;
}

/* 참가자 수 */
.ideal-footer-count {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #888;
}
.ideal-footer-count i { font-size: 10px; }

/* 오른쪽 뱃지 묶음 */
.ideal-footer-right {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

/* VIDEO 뱃지 */
.ideal-badge-video {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 7px;
    border-radius: 8px;
    background: rgba(79,195,247,0.12);
    color: #0288d1;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border: 1px solid rgba(79,195,247,0.3);
}

/* 랭킹 뱃지 */
.ideal-badge-rank {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 5px 8px;
    border-radius: 8px;
    background: rgba(245,200,66,0.12);
    color: #b8860b;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid rgba(245,200,66,0.35);
    text-decoration: none;
    transition: background .15s, color .15s;
    pointer-events: auto;
}
.ideal-badge-rank:hover {
    background: rgba(245,200,66,0.28);
    color: #8a6200;
    text-decoration: none;
}

/* 카드 제목 (기존 sub_menu_box_title 위에 footer가 오도록 padding 제거) */
.sub_btn_box_ideal .sub_menu_box_title {
    padding: 8px 10px;
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #fff;
}

/* ── 카드 간격 (global CSS 0px padding 보정) ── */
.ideal-grid-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -5px;
}
.ideal-grid-row .sub_menu_btn {
    padding: 0 5px !important;
    margin-bottom: 10px !important;
    box-sizing: border-box;
}

/* ── 다크모드 ── */
@media (prefers-color-scheme: dark) {
    .ideal-card-footer            { background: #1a1a28; border-top-color: rgba(255,255,255,0.07); }
    .ideal-footer-count           { color: #666; }
    .sub_btn_box_ideal .sub_menu_box_title { background: #1a1a28; color: #e2e8f0; }
    .ideal-badge-video            { background: rgba(79,195,247,0.08); border-color: rgba(79,195,247,0.2); }
    .ideal-badge-rank             { background: rgba(245,200,66,0.08); border-color: rgba(245,200,66,0.2); }
}


/* ═══════════════════════════════════════════════════════════════
   관리 보드 리스트  —  .mgmt-*  (재사용 공통 컴포넌트)
   사이트 CSS 변수(--panel, --border, --text, --muted 등) 활용
════════════════════════════════════════════════════════════════ */

.mgmt-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding-bottom: 60px;
}

/* ── 헤더 바 ── */
.mgmt-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--border);
}
.mgmt-topbar-left { display: flex; align-items: baseline; gap: 10px; }
.mgmt-topbar-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--text);
  letter-spacing: -0.4px;
}
.mgmt-topbar-count {
  font-size: 13px;
  color: var(--muted);
  font-weight: 500;
}
.mgmt-topbar-desc {
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}
.mgmt-btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  border-radius: 10px;
  background: var(--primary);
  color: #fff !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(79,140,255,0.28);
  transition: filter 0.18s, transform 0.18s;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: inherit;
}
.mgmt-btn-primary:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  color: #fff !important;
  text-decoration: none !important;
}

/* ── 리스트 카드 래퍼 ── */
.mgmt-card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(0,0,0,0.05), 0 4px 20px rgba(0,0,0,0.03);
}

/* ── 컬럼 헤더 ── */
.mgmt-col-header {
  display: flex;
  align-items: center;
  padding: 8px 18px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0;
  background: var(--chip);
}
.mgmt-col-header span {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

/* ── 공통 컬럼 너비 ── */
.mgmt-c-thumb { width: 52px; flex-shrink: 0; }
.mgmt-c-num   { width: 38px; text-align: center; flex-shrink: 0; }
.mgmt-c-main  { flex: 1; min-width: 0; padding: 0 10px; }
.mgmt-c-stat  { width: 58px; text-align: center; flex-shrink: 0; }
.mgmt-c-views { width: 58px; text-align: center; flex-shrink: 0; }
.mgmt-c-date  { width: 88px; text-align: center; flex-shrink: 0; }
.mgmt-c-act   { width: 118px; flex-shrink: 0; }

/* ── 리스트 행 ── */
.mgmt-list { display: flex; flex-direction: column; }
.mgmt-row {
  display: flex;
  align-items: center;
  padding: 12px 18px;
  border-bottom: 1px solid var(--border);
  transition: background 0.14s;
  border-radius: 0;
}
.mgmt-row:first-child { border-top: none; }
.mgmt-row:last-child { border-bottom: none; }
.mgmt-row:hover { background: var(--chip); }

/* 썸네일 */
.mgmt-row-thumb {
  width: 62px;
  flex-shrink: 0;
  padding:5px;
}
.mgmt-row-thumb img {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  background: var(--chip);
}

/* 번호 */
.mgmt-row-num {
  width: 38px;
  text-align: center;
  flex-shrink: 0;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}

/* 제목 영역 */
.mgmt-row-main {
  flex: 1;
  min-width: 0;
  padding: 0 10px;
}
.mgmt-row-title-line {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  overflow: hidden;
}
.mgmt-row-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-decoration: none;
  transition: color 0.14s;
  line-height: 1.35;
  font-family: inherit;
  text-align: left;
  flex: 1;
  min-width: 0;
}
.mgmt-row:hover .mgmt-row-title { color: var(--primary); }
.mgmt-row-sub {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.mgmt-row-warn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #f59e0b;
}

/* 통계 컬럼 */
.mgmt-row-stat,
.mgmt-row-views {
  width: 58px;
  text-align: center;
  flex-shrink: 0;
  font-size: 12px;
  color: var(--muted);
  font-weight: 500;
}
.mgmt-row-date {
  width: 88px;
  font-size: 11px;
  color: var(--muted);
  text-align: center;
  flex-shrink: 0;
}

/* 상태 배지 */
.mgmt-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: 5px;
  font-size: 10.5px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.5;
}
.mgmt-badge i { font-size: 9px; }
.mgmt-badge.public  { background: rgba(16,185,129,0.12); color: #10b981; }
.mgmt-badge.private { background: var(--chip); color: var(--muted); }
.mgmt-badge.friend  { background: rgba(245,158,11,0.12); color: #f59e0b; }

/* 액션 버튼 */
.mgmt-row-actions {
  width: 118px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: flex-end;
  padding-right: 6px;
}
.mgmt-c-act { width: 154px; flex-shrink: 0; }
.mgmt-act-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 16px;
  cursor: pointer;
  border: 1px solid transparent;
  background: var(--chip);
  color: var(--muted);
  transition: background 0.13s, color 0.13s, transform 0.12s, border-color 0.13s;
  text-decoration: none !important;
  flex-shrink: 0;
  padding: 0;
}
.mgmt-act-btn:hover {
  color: var(--text);
  text-decoration: none !important;
  transform: scale(1.1);
}
.mgmt-act-btn.edit { background: rgba(79,140,255,0.08); color: var(--primary); }
.mgmt-act-btn.edit:hover {
  background: rgba(79,140,255,0.18);
  color: var(--primary);
  border-color: rgba(79,140,255,0.25);
}
.mgmt-act-btn.cfg { background: var(--chip); }
.mgmt-act-btn.cfg:hover {
  background: rgba(100,100,100,0.15);
  color: var(--text);
}
.mgmt-act-btn.del { background: rgba(239,68,68,0.07); color: var(--danger); }
.mgmt-act-btn.del:hover {
  background: rgba(239,68,68,0.16);
  color: var(--danger);
  border-color: rgba(239,68,68,0.2);
}
.mgmt-act-btn.play { background: rgba(34,197,94,0.08); color: #16a34a; }
.mgmt-act-btn.play:hover {
  background: rgba(34,197,94,0.18);
  color: #16a34a;
  border-color: rgba(34,197,94,0.25);
}

/* 삭제 애니메이션 */
.mgmt-row.removing {
  opacity: 0;
  transform: translateX(16px);
  transition: all 0.28s cubic-bezier(0.4,0,0.2,1);
}

/* 빈 상태 */
.mgmt-empty { text-align: center; padding: 70px 24px; }
.mgmt-empty-icon {
  font-size: 40px;
  color: var(--muted);
  opacity: 0.35;
  margin-bottom: 16px;
}
.mgmt-empty-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}
.mgmt-empty-desc {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 24px;
  word-break: keep-all;
}

/* ── 토스트 알림 (재사용) ── */
.j-toast {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-16px);
  padding: 10px 20px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  z-index: 99999;
  opacity: 0;
  transition: all 0.28s cubic-bezier(0.4,0,0.2,1);
  pointer-events: none;
  box-shadow: 0 4px 20px rgba(0,0,0,0.18);
  max-width: 90vw;
  display: flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.j-toast.show    { opacity: 1; transform: translateX(-50%) translateY(0); }
.j-toast.success { background: #10b981; color: #fff; }
.j-toast.error   { background: var(--danger); color: #fff; }
.j-toast.info    { background: var(--text); color: var(--panel); }

/* ── 확인 다이얼로그 (재사용) ── */
.j-confirm-overlay {
  position: fixed !important;
  inset: 0;
  background: rgba(0,0,0,0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 99998 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.22s, visibility 0.22s;
}
.j-confirm-overlay.show { opacity: 1 !important; visibility: visible !important; }
.j-confirm-box {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 24px 22px;
  max-width: 340px;
  width: 100%;
  text-align: center;
  box-shadow: 0 8px 40px rgba(0,0,0,0.2);
  transform: scale(0.94) translateY(12px);
  transition: transform 0.22s cubic-bezier(0.4,0,0.2,1);
}
.j-confirm-overlay.show .j-confirm-box { transform: scale(1) translateY(0); }
.j-confirm-icon {
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(255,77,79,0.1); color: var(--danger);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px; font-size: 20px;
}
.j-confirm-title { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 6px; }
.j-confirm-desc  { font-size: 13px; color: var(--muted); line-height: 1.55; margin-bottom: 20px; }
.j-confirm-btns  { display: flex; gap: 8px; }
.j-confirm-btn {
  flex: 1; padding: 11px 16px; border-radius: 9px;
  font-size: 14px; font-weight: 600;
  cursor: pointer; border: 1px solid var(--border);
  font-family: inherit; background: var(--chip); color: var(--text);
  transition: all 0.15s;
}
.j-confirm-btn:hover { background: var(--chipBorder); }
.j-confirm-btn.danger { background: var(--danger); color: #fff; border-color: var(--danger); }
.j-confirm-btn.danger:hover { filter: brightness(1.1); }

/* ── 반응형 ── */
@media (max-width: 640px) {
  .mgmt-col-header { display: none; }
  .mgmt-c-stat, .mgmt-c-views, .mgmt-c-date,
  .mgmt-row-stat, .mgmt-row-views, .mgmt-row-date { display: none; }
  .mgmt-c-act, .mgmt-row-actions { width: auto; }
  .mgmt-row-num { width: 28px; font-size: 11px; }
}
@media (max-width: 440px) {
  .mgmt-c-num, .mgmt-row-num { display: none; }
}

/* ── 페이드인 ── */
@keyframes mgmt-fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mgmt-topbar { animation: mgmt-fadeIn 0.3s ease both; }
.mgmt-list   { animation: mgmt-fadeIn 0.35s ease 0.04s both; }

/* ── AI 퀴즈 대표이미지 플레이스홀더 ── */
.ai-thumb-cover {
  --ai-bg-from: #eef2ff;
  --ai-bg-to: #ddd6fe;
  --ai-border: #a78bfa;
  --ai-accent: #6d28d9;
  width: 100%; height: 100%;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--ai-bg-from) 0%, var(--ai-bg-to) 100%);
  border: 1.5px dashed var(--ai-border);
  border-radius: 6px;
  color: var(--ai-accent); gap: 6px;
  font-size: 13px; font-weight: 800; letter-spacing: .2px;
  text-align: center;
  padding: 12px;
  line-height: 1.35;
}
.ai-thumb-cover i { font-size: 28px; opacity: .88; }
/* 퀴즈 보기 히어로 AI 커버 */
.ai-vd-img-cover {
  --ai-bg-from: #eef2ff;
  --ai-bg-to: #ddd6fe;
  --ai-border: #a78bfa;
  --ai-accent: #6d28d9;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 10px;
  background: linear-gradient(135deg, var(--ai-bg-from), var(--ai-bg-to));
  border: 2px dashed var(--ai-border);
  border-radius: 12px;
  color: var(--ai-accent);
  width: 100%; height: 100%; min-height: 200px;
  text-align: center;
  padding: 16px;
  line-height: 1.35;
}
.ai-vd-img-cover i { font-size: 40px; opacity: .8; }
.ai-vd-img-cover span { font-size: 14px; font-weight: 700; margin-top: 2px; }
