@import url("basic_css.css");


.contents {
  position: relative;
  width: 100%;
  /* margin-top: 44px; */
  overflow: hidden;
}

.cell.circle1 {
  background-image: url('../image/circle1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cell.circle2 {
  background-image: url('../image/circle2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cell.round1 {
  background-image: url('../image/round1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cell.round2 {
  background-image: url('../image/round2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}




    table {
        width: 100%;
        border-collapse: collapse;
        margin: 20px 0;
    }

    th, td {
        border: 1px solid #ddd;
        padding: 3px;
        text-align: center;
    }

    th {
        background-color: gray;
        color: white;
        font-size: 14px;
        font-weight: bold;
    }

    /* tr:nth-child(even) {
        background-color: #f2f2f2;
    } */

    /* tr:hover {
        background-color: #ddd;
    } */


/*
*
* ==========================================
*  데스크탑 1900 ~ , 노트북 1025 ~ 1899
* ==========================================
*
*/
@media screen and (min-width:1025px) {

  /* ============================================================================================================================= */
  /* 메인화면1 - 소개 */

  .content1 {
    position: relative;
    margin-top: 75px;
    width: 100%;
    height: 200px;
    position: relative;
    /* background-image: url(../img/background/sejong.jpg); */
    /* background-size: 100% 100%; */
    /* background-image: contain; */
    /* background-repeat: no-repeat; */
    overflow: hidden;
    /* background-position: center center; */
    /* color: white; */
    background: linear-gradient(-45deg, #1d2c41, #B7C9D9, #4FA3F0, #22131a);
    background-size: 400% 400%;
    animation: AnimationName 20s ease infinite;
    -webkit-animation: AnimationName 20s ease infinite;
    -moz-animation: AnimationName 20s ease infinite;
    -o-animation: AnimationName 20s ease infinite;
    animation: AnimationName 20s ease infinite;
  }



  @-webkit-keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  @-moz-keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  @-o-keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  @keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  .content1 .where {
    position: absolute;
    right: 30px;
    top: 20px;
    font-size: 12px;
    width: 251px;
    height: 20px;
  }

  .content1_text_wrap {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 10;
    color: #fff;
  }


  .content1 span:nth-child(1) {
    display: block;
    width: 100%;
    height: 50px;
    font-size: 24px;
    float: left;
    margin-top: 30px;
    line-height: 70px;
    letter-spacing: -2px;
  }

  .content1_text {
    position: absolute;
    width: 100%;
    height: 100%;
    top: calc(50% - 100px);
    text-align: center;
  }



  .content1 .underline_wrap {
    width: 100%;
    height: 30px;
    position: relative;
    float: left;
  }

  .content1 .underline1 {
    position: absolute;
    left: calc(50% - 10px);
    width: 20px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 15px;
  }

  .content1 span:nth-child(2) {
    display: block;
    width: 100%;
    height: 30px;
    font-size: 14px;
    float: left;
    line-height: 25px;
    margin-top: 30px;
    letter-spacing: -1px;
  }

  /* .s1_arrow{
	display:block; 
	position:absolute; 
	bottom: 18.4%;
	right: calc(50% - 4px);
	text-align:center; 
  }
  
  .scroll-arrow 
  {
	width:4px; 
	height:4px; 
	border-right: 3px solid white; 
	border-bottom: 3px solid white;
	transform: rotate(45deg); 
	-webkit-transform: rotate(45deg); 
	-moz-transform: rotate(45deg); 
	-o-transform: rotate(45deg);  
	-ms-transform: rotate(45deg);
	animation: arrow-wave 1s infinite; animation-direction: alternate;
  }
  
   .scroll-arrow:nth-child(1) {
	 animation-delay: 0.1s;
	}
  
   .scroll-arrow:nth-child(2) {
	 margin-top:6px; 
	 animation-delay: 0.2s;
	}
  
   .scroll-arrow:nth-child(3) {
	 margin-top:6px; 
	 animation-delay: 0.3s;
	}
  
   @keyframes arrow-wave {
   0% {opacity: 0;}
   50% {opacity: .5;}
   100% {opacity: 1;}
   }
  
   @keyframes arrow_down{
   0%{top:50px;}
   50%{top:30px;}
   100%{top:50px;}
   }

/* ============================================================================================================================= */
  /* 메인화면2 */

  .content2 {
    position: relative;
    width: 100%;
    height: 50px;
    z-index: 13;
    background: white;
    /* transition: all 0.5s; */
    box-sizing: border-box;
    border-bottom: 1px solid rgba(128, 128, 128, 0.3);
    color: #4a5160;
  }

  .content2_active {
    position: fixed;
    top: 0px;
    z-index: 7900;
  }

  .content2 img {
    position: absolute;
    display: block;
    width: 180px;
    height: 40px;
    margin: 5px 0px;
    left: -220px;
    transition: all 0.5s;
  }

  .menu_plus2 {
    transition: all 0.5s;
    position: absolute;
    width: 50px;
    float: right;
    height: 50px;
    right: -60px;
    text-align: center;
    z-index: 11;
    cursor: pointer;
  }

  .menu_plus2 .i {
    position: absolute;
    color: white;
    left: 0px;
    width: 21px;
    height: 21px;
    margin: 14.5px 14.5px;
    background-repeat: no-repeat;
    background-image: cover;
  }

  .x_img {
    background-image: url(../image/icon/x_black.png);
  }

  .list_img {
    background-image: url(../image/icon/list_black.png);
  }

  .menu_plus2_active {
    width: 200px;
  }

  .content2 .text_wrap {
    width: 1000px;
    min-width: 1000px;
    max-width: 1000px;
    height: 100%;
    margin: 0 auto;
  }


  .content2 .text1 {
    width: 100%;
    height: 100%;
  }

  .content2 .text1 ul {
    width: 150px;
    height: 100%;
    margin: 0 auto;

  }

  .content2 .text1 li {
    display: block;
    width: 150px;
    float: left;
    box-sizing: border-box;
    height: 50px;
    text-align: center;
  }

  .content2 .text1 a {
    display: block;
    color: #4a5160;
    font-size: 14px;
    position: relative;
    margin-top: 16px;
    height: 18px;
    border-right: 1px solid #4a516056;
  }

  .content2 .text1 li:last-child a {
    border-right: none;
  }

  .content2 .text1 a:hover {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 0;
    z-index: 8000;
    width: 100%;
    height: 1px;
    background: #0070c9;
  }



  /* ============================================================================================================================= */
  /* 메인화면3 */

  .content3 {
    position: relative;
    width: 100%;
    /* height: 100vh; */
    /* min-height: 1080px; */
    overflow: hidden;
    padding-bottom: 100px;
    z-index: 12;
  }

  .container {
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }

  .content3_text {
    position: relative;
    width: 100%;
    height: 200px;
    /* background-color: aqua; */
    text-align: center;
    margin-top: 80px;
  }


  .content3 .content3_text span:nth-child(1) {
    display: block;
    width: 100%;
    height: 50px;
    /* background-color: red; */
    font-size: 30px;
    float: left;
    font-weight: 100;
  }

  .content3 .content3_text span:nth-child(3) {
    display: block;
    width: 100%;
    height: 60px;
    font-size: 15px;
    float: left;
    font-weight: 100;
    line-height: 30px;
  }

  .content3 .underline_wrap {
    width: 100%;
    height: 50px;
    position: relative;
    float: left;
  }

  .content3 .underline1 {
    position: absolute;
    left: calc(50% - 10px);
    width: 20px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 20px;
  }

  .content3 .table_wrap{
    width: 100%;
    /* background-color: aqua; */
    overflow: hidden;
  }

  .content3 .table_wrap .doc_wrap {
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
  }


  .content3 .table_wrap .doc_wrap button{
    float: right;
    padding: 4px 0px;
    width: 60px;
    margin: 0px 2px;
    cursor: pointer;
    outline: none;
    border: 1px solid black;
    font-weight: bold;
    color: black;
  }

  .content3 .table_wrap .title_container{
    width: 1000px;
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    background-color: #FCFCFC;
    padding: 0px 20px;
    margin: 0 auto;
  }

  .content3 .table_wrap .title_container .content_title{
    font-size: 17px;
    /* color: rgb(87, 75, 75); */
    display: block;
    line-height: 50px;
    float: left;
    /* text-align: center; */
    font-size: 30px;
    font-weight: bold;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
  }

  .is_live{
    display: flex;
    padding: 5px;
    background-color: gray;
    color: white;
    font-size: 15px;
    font-weight: bold;
    margin: 20px 0px;
    box-sizing: border-box;
    width: 120px;
    align-items: center;
    border-radius: 10px;
  }

  .content3 .table_wrap .info_container{
    width: calc(100% - 40px);
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    padding: 0px 20px 0px 0px;
    overflow: hidden;
    background: linear-gradient(-45deg,#82b8e7, #4FA3F0);
  }

  .info_box{
    display: flex;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
  }

  .content3 .table_wrap .info_container ul li{
   min-width: 200px;
   float: left;
   padding: 25px;
   font-weight: bold;
   position: relative;
   box-sizing: border-box;
  }

  .content3 .table_wrap .info_container ul li:not(:last-child)::after {
    position: absolute;
    right: 0;
    top: 25px;
    content: "";
    display: block;
    width: 1px;
    height: 50px;
    background-color: rgb(255, 255, 255, 0.75);
  }

  .content3 .table_wrap .info_container ul li label{
    display: block;
    font-size: 12px;
    color: white;
    margin-bottom: 10px;
    letter-spacing: -1px;
  }

  .content_navi_container{
    width: 1000px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    margin-top: 10px;
    margin: 0 auto;
  }

  .content_navi_wrap{
    overflow-x: auto;
    position: relative;
    box-sizing: border-box;
  }

  .content_navi_wrap ul{
    display: flex;
    position: relative;
  }

  .content_navi_wrap ul::after {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 7px;
    background-color: #DBDBDB;
    opacity: 0.3;
  }

  .content_navi_wrap ul li {
    display: block;
    float: left;
    box-sizing: border-box;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    font-weight: bold;

  }

  .content_navi_wrap ul li a{
    color: black;
  }

  .content_navi_wrap ul li:nth-child(1) a{
    color: #0070c9;
  }

  .content_navi_wrap ul li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: 8000;
    width: 100%;
    height: 7px;
    background: #0070c9;
}

  .content3 .table_wrap .text_content_container{
    width: 1000px;
    padding: 20px 20px 40px 20px;
    overflow: hidden;
    font-size: 15px;
    min-height: 500px;
    line-height: 25px;
    margin: 0 auto;
  }

/* 공통 박스 */
.group-box {
  border: 2px solid #444;
  padding: 10px;
  margin-bottom: 50px;
  border-radius: 10px;
  background-color: #f9f9f9;
}

/* 테이블 스크롤 영역 */
.overflow_container {
  /* overflow-x: auto; */
  position: relative;
  background: white;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.table-wrapper-scroll {
  width: 100%;
}

.table-row {
  display: flex;
  width: 100%;
}

.header-row {
  background-color: #f0f0f0;
  font-weight: bold;
  color: #333;
}

/* 셀 공통 */
.cell {
  padding: 8px 6px;
  font-size: 14px;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background-color: #fff;
  white-space: nowrap;
}

/* 고정 컬럼 */
.fixed-column {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #f4fbff !important;
  font-weight: bold;
  border-right: 1px solid #ccc;
}

/* 100% 맞춰지는 퍼센트 기반 폭 설정 */
.column-rank   { flex: 0 0 10%; }
.column-name   { flex: 0 0 12%; }
.column-school { flex: 0 0 18.1%; } /* ✅ 소속 칼럼 추가 */
.hole          { flex: 0 0 10%; }

.total,
.alt-highlight {
  flex: 0 0 20%;
  background-color: #c9eaf7;
  font-weight: bold;
}


/* 부 제목 스타일 */
.part-title {
  font-size: 18px;
  padding-left: 10px;
  margin-top: 50px !important;
  margin-bottom: 20px;
  border-left: 5px solid #0077cc;
}

/* 버튼 컨테이너 */
.button-container {
  margin-bottom: 20px;
  text-align: left;
}

/* 드롭다운 */
.button-container select {
  background-color: gray;
  color: white;
  border: none;
  padding: 10px 10px;
  font-size: 14px;
  border-radius: 4px;
  cursor: pointer;
}



}


/*
*
* ==========================================
*  모바일 360 ~ 767, 테블릿 768~1024
* ==========================================
*
*/
@media screen and (min-width:360px) and (max-width:1024px){
/* @media screen and (max-width:1024px) { */

  td {
    border: 1px solid #ddd !important;
    padding: 2px !important;
    text-align: center !important;
    font-size: 11px !important;
}

.overflow_container{
  width: 100%;
  overflow-y: hidden;
}

.overflow_wrap{
  width: 1000px;
  overflow-y: hidden;
}

  /* ============================================================================================================================= */
  /* 메인화면1 - 소개 */

  .content1 {
    position: relative;
    width: 100%;
    height: 210px;
    position: relative;
    background-image: url(../image/background/sejong.jpg);
    background-size: 100% auto;
    background-image: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    background-position: center center;
    /* color: white; */
  }

  .content1 .where {
    display: none;
  }

  .content1_text_wrap {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: relative;
    color: #fff;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
  }


  .content1 span:nth-child(1) {
    display: block;
    width: 100%;
    height: 25px;
    font-size: 18px;
    float: left;
    margin-top: 70px;
    /* line-height: 70px; */
    letter-spacing: -2px;
    /* background-color: aqua; */
  }

  .content1_text {
    position: absolute;
    width: calc(100% - 50px);
    padding: 0px 25px;
    height: 100%;
    top: calc(50% - 100px);
    text-align: center;
  }



  .content1 .underline_wrap {
    width: 100%;
    height: 15px;
    position: relative;
    float: left;
    /* background-color: aqua; */
  }

  .content1 .underline1 {
    position: absolute;
    left: calc(50% - 5px);
    width: 10px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 7.5px;
  }

  .content1 span:nth-child(2) {
    display: block;
    width: 100%;
    height: 40px;
    font-size: 11px;
    float: left;
    line-height: 20px;
    margin-top: 20px;
    letter-spacing: -1px;
  }


  /* ============================================================================================================================= */
  /* 메인화면2 */

  .content2{
    position: relative;
      width: 100%;
      height: 50px;
      z-index: 13;
    background: white;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(128, 128, 128, 0.3);
    color: #4a5160;
    -ms-overflow-style: none;
    overflow-y: hidden;
  }
  
  .content2::-webkit-scrollbar{
    display:none;
  }


  .content2_active {
    display: none;
  }

  .content2 img {
    display: none;
  }

  .menu_plus2 {
    display: none;
  }

  .menu_plus2 .i {
    display: none;
  }

  .x_img {
    display: none;
  }

  .list_img {
    display: none;
  }

  .menu_plus2_active {
    display: none;
  }

  .content2 .text_wrap {
    width: 100%;
    /* min-width: 1000px;
    max-width: 1000px; */
    height: 100%;
    margin: 0 auto;
  }


  .content2 .text1 {
    width: 100%;
    height: 100%;
  }

  .content2 .text1 ul {
    width: 100%;
    height: 100%;
    margin: 0 auto;

  }

  .content2 .text1 li {
    display: block;
    width: 200px;
    box-sizing: border-box;
    height: 50px;
    text-align: center;
    margin: 0 auto;
  }

  .content2 .text1 a {
    display: block;
    color: #4a5160;
    /* font-weight: bold; */
    font-size: 14px;
    position: relative;
    margin-top: 16px;
    height: 18px;
    border-right: 1px solid #4a516056;
  }

  .content2 .text1 li:last-child a {
    border-right: none;
  }

  .content2 .text1 a:hover {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 0;
    z-index: 9000;
    width: 100%;
    height: 1px;
    background: #0070c9;
  }


  /* ============================================================================================================================= */
  /* 메인화면3 */

  .content3 {
    position: relative;
    width: 100%;
    /* height: 100vh; */
    /* min-height: 1080px; */
    overflow: hidden;
    padding-bottom: 100px;
    z-index: 12;
  }

  .container {
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }

  .content3_text {
    position: relative;
    width: 100%;
    height: 200px;
    /* background-color: aqua; */
    text-align: center;
    margin-top: 80px;
  }


  .content3 .content3_text span:nth-child(1) {
    display: block;
    width: 100%;
    height: 50px;
    /* background-color: red; */
    font-size: 30px;
    float: left;
    font-weight: 100;
  }

  .content3 .content3_text span:nth-child(3) {
    display: block;
    width: 100%;
    height: 60px;
    font-size: 15px;
    float: left;
    font-weight: 100;
    line-height: 30px;
  }

  .content3 .underline_wrap {
    width: 100%;
    height: 50px;
    position: relative;
    float: left;
  }

  .content3 .underline1 {
    position: absolute;
    left: calc(50% - 10px);
    width: 20px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 20px;
  }

  .content3 .table_wrap{
    width: 100%;
    /* background-color: aqua; */
    overflow: hidden;
  }

  .content3 .table_wrap .doc_wrap {
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
  }


  .content3 .table_wrap .doc_wrap button{
    float: right;
    padding: 4px 0px;
    width: 60px;
    margin: 0px 2px;
    cursor: pointer;
    outline: none;
    border: 1px solid black;
    font-weight: bold;
    color: black;
  }

  .content3 .table_wrap .title_container{
    width: 100%;
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    background-color: #FCFCFC;
    padding: 0px 20px;
    margin: 0 auto;
    box-sizing: border-box;
  }

  .content3 .table_wrap .title_container .content_title{
    font-size: 16px !important;
    /* color: rgb(87, 75, 75); */
    display: block;
    line-height: 25px;
    float: left;
    /* text-align: center; */
    font-size: 30px;
    font-weight: bold;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;

    display: inline-block; /* 내부 컨텐츠 크기에 맞춰 조정 */
    max-width: 100%; /* 부모 요소를 넘어가지 않도록 제한 */
    word-wrap: break-word; /* 긴 단어 줄바꿈 */
    overflow-wrap: break-word; /* 강제 줄바꿈 지원 */
    white-space: normal; /* 줄바꿈 허용 */
  }

  .is_live{
    display: flex;
    padding: 5px;
    background-color: gray;
    color: white;
    font-size: 14px;
    font-weight: bold;
    margin: 20px 0px;
    box-sizing: border-box;
    width: 120px;
    align-items: center;
    border-radius: 10px;
  }

  .content3 .table_wrap .info_container{
    display: none;
    width: calc(100% - 40px);
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    padding: 0px 20px 0px 0px;
    overflow: hidden;
    background: linear-gradient(-45deg,#82b8e7, #4FA3F0);
  }

  .info_box{
    display: flex;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
  }

  .content3 .table_wrap .info_container ul li{
   min-width: 200px;
   float: left;
   padding: 25px;
   font-weight: bold;
   position: relative;
   box-sizing: border-box;
  }

  .content3 .table_wrap .info_container ul li:not(:last-child)::after {
    position: absolute;
    right: 0;
    top: 25px;
    content: "";
    display: block;
    width: 1px;
    height: 50px;
    background-color: rgb(255, 255, 255, 0.75);
  }

  .content3 .table_wrap .info_container ul li label{
    display: block;
    font-size: 12px;
    color: white;
    margin-bottom: 10px;
    letter-spacing: -1px;
  }
  .content_navi_container {
    width: 100%;
    max-width: 1000px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    margin: 10px auto;
    overflow-y: hidden;
}

/* 가로 스크롤 적용 */
.content_navi_wrap {
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    box-sizing: border-box;
    white-space: nowrap; /* 줄바꿈 방지 */
    -webkit-overflow-scrolling: touch; /* 모바일에서 부드러운 스크롤 */
}

/* 메뉴가 가로로 정렬되도록 설정 */
.content_navi_wrap ul {
    display: flex;
    flex-wrap: nowrap; /* 줄바꿈 방지 */
    position: relative;
    min-width: max-content; /* 최소 크기 유지 */
}


  .content_navi_wrap ul::after {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 7px;
    background-color: #DBDBDB;
    opacity: 0.3;
  }

  .content_navi_wrap ul li {
    display: block;
    float: left;
    box-sizing: border-box;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    font-weight: bold;

  }

  .content_navi_wrap ul li a{
    color: black;
  }

  .content_navi_wrap ul li:nth-child(1) a{
    color: #0070c9;
  }

  .content_navi_wrap ul li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: 8000;
    width: 100%;
    height: 7px;
    background: #0070c9;
}

  .content3 .table_wrap .text_content_container{
    width: 100%;
    padding: 20px 20px 40px 20px;
    overflow: hidden;
    font-size: 15px;
    min-height: 500px;
    line-height: 25px;
    margin: 0 auto;
    box-sizing: border-box;
  }

/* 공통 박스 */
.group-box {
  border: 2px solid #444;
  padding: 10px;
  margin-bottom: 50px;
  border-radius: 10px;
  background-color: #f9f9f9;
}

/* 테이블 스크롤 영역 */
.overflow_container {
  overflow-x: auto;
  position: relative;
  background: white;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.table-wrapper-scroll {
  /* min-width: 1200px; */
}

/* 테이블 헤더/행 */
.table-row {
  display: flex;
  /* min-width: 1200px; */
  border-bottom: 1px solid #ccc;
}

.header-row {
  background-color: #f0f0f0;
  font-weight: bold;
  color: #333;
}

/* 셀 공통 */
.cell {
  flex-shrink: 0;
  padding: 8px 6px;
  font-size: 13px;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background-color: #fff;
  white-space: nowrap;
}

.cell:last-child {
  border-right: none;
}

/* 고정 열 */
.fixed-column {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #f4fbff !important;
  font-weight: bold;
  border-right: 1px solid #ccc;
}

.column-rank {
  flex: 0 0 35px;
  font-size: 12px;
}

.column-name {
  flex: 0 0 70px;
  left: 35px;
  font-size: 13px;
  z-index: 3;
}

.column-school {
  flex: 0 0 120px;
  font-size: 12px;
}

.hole {
  flex: 0 0 38px;
  font-size: 12px;
}

.total {
  flex: 0 0 50px;
  font-size: 12px;
}

.table-row .cell {
  padding: 4px 2px;
}

.fixed-column {
  background-color: #f4fbff !important;
  font-weight: bold;
}

.alt-highlight {
  background-color: #c9eaf7;
  font-weight: bold;
}


/* 부 제목 스타일 */
.part-title {
  font-size: 18px;
  padding-left: 10px;
  margin-top: 50px !important;
  margin-bottom: 20px;
  border-left: 5px solid #0077cc;
}

/* 버튼 컨테이너 */
.button-container {
  margin-bottom: 20px;
  text-align: left;
}

/* 드롭다운 */
.button-container select {
  background-color: gray;
  color: white;
  border: none;
  padding: 10px 10px;
  font-size: 14px;
  border-radius: 4px;
  cursor: pointer;
}

}/* 공통 상태 배지 스타일 */
.is_status {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  padding: 4px 8px;
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: middle;
  color: #fff;
  margin-top: 30px;
}

/* 상태별 색 (목록에서 쓰던 거랑 통일) */
.status-ing {
  /* 대회진행중: 빨강 */
  background-color: #FF7373;
  color: #fff;
}
.status-apply {
  /* 신청진행중: 초록 */
  background-color: #76C079;
  color: #fff;
}
.status-soon {
  /* 신청예정 / 대회예정: 파랑 */
  background-color: #7CA9ED;
  color: #fff;
}
.status-closed {
  /* 신청마감 / 대회종료: 회색 */
  background-color: #A3A3A3;
  color: #fff;
}

/* =========================
   단체전(teams) — 개인전과 톤 통일 + 고정 컬럼 적용
   교체 전용 블록 (중복 제거됨)
   ========================= */

/* 폭/좌표 변수로 관리 → 헤더/바디 일관 */
:root {
  --rank-w:   42px;   /* 순위 */
  --team-w:  110px;   /* 팀명 */
  --player-w:120px;   /* 선수명 */
  --hole-w:   40px;   /* 1~18 */
  --sum-w:    54px;   /* OUT/IN */
  --tot-w:    60px;   /* TOT */
  --team-score-w:110px; /* 팀점수(베스트3) */
}

@media (max-width: 1024px) {
  :root {
    --rank-w:   36px;
    --team-w:  100px;
    --player-w:110px;
    --hole-w:   38px;
    --sum-w:    50px;
    --tot-w:    56px;
    --team-score-w:102px;
  }
}

/* 컨테이너: 가로 스크롤만 */
.team-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 표 기본 */
table.team-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;         /* 고정폭 + sticky 안정화 */
  border: 1px solid #d5dbe5;
  background: #fff;
  color: #111;
  min-width: calc(var(--rank-w) + var(--team-w) + var(--player-w)
                 + 18 * var(--hole-w) + var(--sum-w) + var(--sum-w)
                 + var(--tot-w) + var(--team-score-w) + 40px);
}

table.team-table th,
table.team-table td {
  border: 1px solid #d5dbe5;
  text-align: center;
  background: #fff;
  color: #111;
  font-weight: 500;
  padding: 6px 6px;
  font-size: 13px;
  white-space: nowrap;
}

/* 헤더 톤 (개인전 header-row와 맞춤) */
table.team-table th {
  background: #f0f0f0;
  color: #333;
  font-weight: 700;
}

/* 줄무늬 */
table.team-table tbody tr:nth-child(odd)  td { background: #FAFBFC; }
table.team-table tbody tr:nth-child(even) td { background: #FFFFFF; }

/* 합계 톤 (개인전 highlight) */
table.team-table th.out,
table.team-table th.in,
table.team-table th.tot,
table.team-table td.out,
table.team-table td.in,
table.team-table td.tot {
  background: #FFF8DC !important;
  border-color: #F1DA99 !important;
  font-weight: 700 !important;
}

/* 팀점수(베스트3) 톤 (개인전 alt-highlight) */
table.team-table th.team-score,
table.team-table td.team-score {
  background: #c9eaf7 !important;
  font-weight: 700 !important;
}

/* 고정 컬럼 3개 (좌측) */
table.team-table .sticky-col {
  position: sticky;
  z-index: 3;                 /* 기본값, 필요시 아래에서 개별 조정 */
  background: #F4FBFF !important;  /* 개인전 fixed-column 톤 */
}

table.team-table .col-rank   { left: 0;                           width: var(--rank-w);   min-width: var(--rank-w);   max-width: var(--rank-w);   z-index: 6; }
table.team-table .col-team   { left: var(--rank-w);               width: var(--team-w);   min-width: var(--team-w);   max-width: var(--team-w);   z-index: 5; }
table.team-table .col-player { left: calc(var(--rank-w) + var(--team-w));
                               width: var(--player-w); min-width: var(--player-w); max-width: var(--player-w); z-index: 4; }

/* 고정 헤더도 같은 배경/두께 유지 */
table.team-table th.rank-head,
table.team-table th.team-head,
table.team-table th.player-head {
  background: #e9f5ff;        /* 헤더는 약간 더 밝게 */
  color: #111;
  border-color: #cfe8ff;
}

/* 고정 영역 경계선 보강 */
table.team-table .col-rank,
table.team-table .col-team,
table.team-table .col-player {
  box-shadow: 1px 0 0 rgba(0,0,0,0.07);
}

/* 각 칸 너비(홀/합계/팀점수) */
table.team-table th.hole,
table.team-table td.hole { width: var(--hole-w); min-width: var(--hole-w); max-width: var(--hole-w); }

table.team-table th.out,
table.team-table td.out { width: var(--sum-w); min-width: var(--sum-w); max-width: var(--sum-w); }

table.team-table th.in,
table.team-table td.in { width: var(--sum-w); min-width: var(--sum-w); max-width: var(--sum-w); }

table.team-table th.tot,
table.team-table td.tot { width: var(--tot-w); min-width: var(--tot-w); max-width: var(--tot-w); }

table.team-table th.team-score,
table.team-table td.team-score {
  width: var(--team-score-w);
  min-width: var(--team-score-w);
  max-width: var(--team-score-w);
}

/* 순위/팀명/팀합계 기본 톤 (개인전과 맞춤) */
table.team-table .team-rank,
table.team-table .team-name,
table.team-table .team-total {
  background: #F4FBFF !important;
  color: #111 !important;
  font-weight: 700;
}

/* 마킹 아이콘(개인전과 동일) */
table.team-table td.circle1,
table.team-table td.circle2,
table.team-table td.round1,
table.team-table td.round2 {
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 68% !important; /* 살짝 축소 */
}
table.team-table td.circle1 { background-image: url('../image/circle1.png') !important; }
table.team-table td.circle2 { background-image: url('../image/circle2.png') !important; }
table.team-table td.round1  { background-image: url('../image/round1.png') !important; }
table.team-table td.round2  { background-image: url('../image/round2.png') !important; }
/* ===== 단체전 고정열 수축 방지 + 선수명 더 줄이기 (덮어쓰기 패치) ===== */

/* 폭 변수 재정의: 더 촘촘하게 */
:root {
  --rank-w:   34px;   /* 순위 더 줄임 */
  --team-w:    96px;  /* 팀명 더 줄임 */
  --player-w:  88px;  /* 선수명 더 줄임 */
  --hole-w:    40px;
  --sum-w:     52px;  /* OUT/IN */
  --tot-w:     58px;  /* TOT */
  --team-score-w: 102px;
}
@media (max-width:1024px){
  :root{
    --rank-w:   30px;
    --team-w:    90px;
    --player-w:  80px; /* 모바일 선수명 더 타이트 */
    --hole-w:    36px;
    --sum-w:     48px;
    --tot-w:     54px;
    --team-score-w: 96px;
  }
}

/* 핵심: collapse → separate 로 바꿔 sticky 수축 버그 차단 */
table.team-table{
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  /* min-width는 이전 계산식 유지 가능; 필요시 아래 한 줄로 더 안정화 */
  min-width: calc(var(--rank-w) + var(--team-w) + var(--player-w)
                  + 18 * var(--hole-w) + var(--sum-w) + var(--sum-w)
                  + var(--tot-w) + var(--team-score-w) + 40px) !important;
}

/* 셀 내부 박스 모델 고정 */
table.team-table th,
table.team-table td{
  box-sizing: border-box !important;
  padding: 6px 6px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

/* 고정 컬럼 공통: 배경 잘림/수축 방지 */
table.team-table .sticky-col{
  position: sticky !important;
  background: #F4FBFF !important;
  background-clip: padding-box !important; /* 경계선 겹침시 색 번짐 방지 */
  z-index: 3;
}

/* 왼쪽 오프셋과 정확한 폭 고정 (수축 차단) */
table.team-table .col-rank{
  left: 0 !important;
  width: var(--rank-w) !important;
  min-width: var(--rank-w) !important;
  max-width: var(--rank-w) !important;
  z-index: 6;
  box-shadow: 1px 0 0 rgba(0,0,0,.07);
}
table.team-table .col-team{
  left: var(--rank-w) !important;
  width: var(--team-w) !important;
  min-width: var(--team-w) !important;
  max-width: var(--team-w) !important;
  z-index: 5;
  box-shadow: 1px 0 0 rgba(0,0,0,.07);
}
table.team-table .col-player{
  left: calc(var(--rank-w) + var(--team-w)) !important;
  width: var(--player-w) !important;
  min-width: var(--player-w) !important;
  max-width: var(--player-w) !important;
  z-index: 4;
  box-shadow: 1px 0 0 rgba(0,0,0,.07);
}

/* 헤더 셀도 sticky 톤 일치 (수축 방지용 폭 고정) */
table.team-table th.rank-head{
  width: var(--rank-w) !important; min-width: var(--rank-w) !important; max-width: var(--rank-w) !important;
  background: #e9f5ff !important; border-color:#cfe8ff !important; z-index:7; position: sticky; left:0;
}
table.team-table th.team-head{
  width: var(--team-w) !important; min-width: var(--team-w) !important; max-width: var(--team-w) !important;
  background: #e9f5ff !important; border-color:#cfe8ff !important; z-index:6; position: sticky; left: var(--rank-w);
}
table.team-table th.player-head{
  width: var(--player-w) !important; min-width: var(--player-w) !important; max-width: var(--player-w) !important;
  background: #e9f5ff !important; border-color:#cfe8ff !important; z-index:5; position: sticky; left: calc(var(--rank-w) + var(--team-w));
}

/* 나머지 칸 폭 재강제 (렌더러가 쥐어짜지 않도록) */
table.team-table th.hole, table.team-table td.hole{
  width: var(--hole-w) !important; min-width: var(--hole-w) !important; max-width: var(--hole-w) !important;
}
table.team-table th.out,  table.team-table td.out {
  width: var(--sum-w) !important; min-width: var(--sum-w) !important; max-width: var(--sum-w) !important;
}
table.team-table th.in,   table.team-table td.in  {
  width: var(--sum-w) !important; min-width: var(--sum-w) !important; max-width: var(--sum-w) !important;
}
table.team-table th.tot,  table.team-table td.tot {
  width: var(--tot-w) !important; min-width: var(--tot-w) !important; max-width: var(--tot-w) !important;
}
table.team-table th.team-score, table.team-table td.team-score{
  width: var(--team-score-w) !important; min-width: var(--team-score-w) !important; max-width: var(--team-score-w) !important;
}

/* 스크롤 컨테이너: 성능/계산 안정화 */
.team-table-wrap{
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  contain: paint;     /* sticky 리페인트 영역 한정 */
}


/* =========================
   개인전 결과표 소속 칸 정리
   PC: 칸 넓게 + 한 줄
   모바일: 2줄 줄바꿈
   ========================= */

/* PC */
@media screen and (min-width:1025px) {

  .overflow_container .table-wrapper-scroll .table-row .column-rank {
    flex: 0 0 8% !important;
  }

  .overflow_container .table-wrapper-scroll .table-row .column-name {
    flex: 0 0 12% !important;
  }

  /* 소속 칸 넓게 */
  .overflow_container .table-wrapper-scroll .table-row .column-school {
    flex: 0 0 28% !important;
    white-space: nowrap !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: hidden;
    box-sizing: border-box;
  }

  .overflow_container .table-wrapper-scroll .table-row .hole {
    flex: 0 0 8% !important;
  }

  .overflow_container .table-wrapper-scroll .table-row .total,
  .overflow_container .table-wrapper-scroll .table-row .alt-highlight {
    flex: 0 0 20% !important;
  }
}

/* 모바일 */
@media screen and (min-width:360px) and (max-width:1024px) {

  .overflow_container .table-wrapper-scroll .table-row {
    align-items: stretch !important;
  }

  .overflow_container .table-wrapper-scroll .table-row .column-school {
    flex: 0 0 135px !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
    font-size: 11px !important;
    padding: 4px 10px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
/* =========================
   대회성적 선수 클릭 스코어카드
   ========================= */
.player-score-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  color: #0b5cad;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.player-score-toggle:hover,
.player-score-toggle.is-active {
  color: #003f7f;
}

.result-player-row:hover .cell {
  background-color: #f7fbff !important;
}

.player-scorecard-row {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px 16px;
  background: #f8fbff;
  border-bottom: 1px solid #d5dbe5;
}

.player-scorecard-box {
  border: 1px solid #cfe1f5;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.player-scorecard-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #eef7ff;
  border-bottom: 1px solid #cfe1f5;
  color: #1f2d3d;
}

.player-scorecard-title strong {
  font-size: 15px;
  font-weight: 800;
}

.player-scorecard-title span {
  font-size: 12px;
  color: #5f6b7a;
  white-space: nowrap;
}

.player-scorecard-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.player-scorecard-grid {
  display: grid;
  grid-template-columns: 64px repeat(9, 38px) 50px repeat(9, 38px) 50px 54px;
  min-width: calc(64px + 18 * 38px + 50px + 50px + 54px);
}

.sc-cell {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #e0e6ef;
  border-bottom: 1px solid #e0e6ef;
  box-sizing: border-box;
  font-size: 13px;
  font-weight: 600;
  color: #222;
  background: #fff;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 70% !important;
}

.sc-head,
.sc-label {
  background: #f0f4f8;
  color: #333;
  font-weight: 800;
}

.sc-sum {
  background: #fff8dc;
  color: #111;
  font-weight: 800;
}

.player-scorecard-grid .circle1 {
  background-image: url('../image/circle1.png') !important;
}
.player-scorecard-grid .circle2 {
  background-image: url('../image/circle2.png') !important;
}
.player-scorecard-grid .round1 {
  background-image: url('../image/round1.png') !important;
}
.player-scorecard-grid .round2 {
  background-image: url('../image/round2.png') !important;
}

@media screen and (max-width: 1024px) {
  .player-scorecard-row {
    padding: 8px 6px 12px;
  }

  .player-scorecard-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
  }

  .player-scorecard-title span {
    white-space: normal;
  }

  .player-scorecard-grid {
    grid-template-columns: 58px repeat(9, 34px) 46px repeat(9, 34px) 46px 50px;
    min-width: calc(58px + 18 * 34px + 46px + 46px + 50px);
  }

  .sc-cell {
    min-height: 32px;
    font-size: 12px;
  }
}

/* =========================
   단체전 선수 클릭 스코어카드 보정
   ========================= */
.team-player-row .player-score-toggle {
  width: 100%;
  line-height: 1.25;
  white-space: normal;
  word-break: keep-all;
}

.team-scorecard-tr .team-scorecard-cell {
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
}

.team-scorecard-tr .player-scorecard-row {
  padding: 8px 10px 14px;
  border-bottom: 1px solid #d5dbe5;
}

.team-scorecard-tr .player-scorecard-box {
  margin: 0;
}

.team-scorecard-tr .player-scorecard-title {
  position: sticky;
  left: 0;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .team-scorecard-tr .player-scorecard-row {
    padding: 6px 4px 10px;
  }
}

/* =========================================================
   대회성적 선수 표시 구조 재설계
   - 개인전: 선수 카드 리스트
   - 단체전: 팀 카드 > 선수 카드 리스트
   - 기존 표 느낌 제거, 각 선수/팀을 독립 블록처럼 표현
   ========================================================= */

.result-section-title {
  margin-bottom: 16px !important;
}

.result-card-list,
.result-team-card-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  box-sizing: border-box;
}

.result-player-card,
.result-team-card,
.result-team-member-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(15, 35, 60, 0.07);
  overflow: hidden;
  box-sizing: border-box;
}

.result-player-card {
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.result-player-card:hover,
.result-team-member-card:hover {
  border-color: #9dc3ee;
  box-shadow: 0 10px 26px rgba(15, 35, 60, 0.10);
}

.result-player-summary,
.result-team-member-summary {
  display: grid;
  grid-template-columns: 72px minmax(130px, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  box-sizing: border-box;
}

.result-rank-badge {
  width: 58px;
  min-height: 58px;
  border-radius: 14px;
  background: #f0f7ff;
  border: 1px solid #cfe2f8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
  flex-shrink: 0;
}

.result-rank-badge span,
.result-team-total span,
.result-score-chip span {
  display: block;
  font-size: 11px;
  color: #6b7788;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.result-rank-badge strong {
  display: block;
  margin-top: 5px;
  font-size: 20px;
  color: #14395f;
  font-weight: 900;
}

.result-player-identity {
  min-width: 0;
}

.result-player-name.player-score-toggle {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  color: #17212f;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
  cursor: pointer;
  text-decoration: none;
  text-align: left;
  word-break: keep-all;
}

.result-player-name.player-score-toggle::after {
  content: "스코어카드";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #edf5ff;
  color: #0b5cad;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.result-player-name.player-score-toggle:hover,
.result-player-name.player-score-toggle.is-active {
  color: #0b5cad;
}

.result-player-name.player-score-toggle.is-active::after {
  content: "접기";
  background: #0b5cad;
  color: #fff;
}

.result-player-meta {
  margin-top: 5px;
  font-size: 13px;
  color: #748093;
  font-weight: 600;
  line-height: 1.35;
  word-break: keep-all;
}

.result-score-strip {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.result-score-chip {
  min-width: 54px;
  min-height: 48px;
  padding: 6px 8px;
  border-radius: 12px;
  background: #f7f9fc;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.result-score-chip strong {
  margin-top: 4px;
  font-size: 16px;
  color: #182331;
  font-weight: 900;
  line-height: 1;
}

.result-score-chip.is-disabled {
  opacity: .45;
}

.result-total-chip {
  min-width: 66px;
  background: #fff8dc;
  border-color: #efdca1;
}

.result-total-chip strong {
  color: #111;
}

.result-score-chip.is-best3-score {
  background: #fff4a3;
  border-color: #ebd465;
}

.result-team-card {
  background: #f9fbfe;
  border-color: #cad7e6;
  margin-bottom: 18px;
}

.result-team-header {
  display: grid;
  grid-template-columns: 72px minmax(160px, 1fr) 112px;
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: linear-gradient(135deg, #f7fbff, #eef6ff);
  border-bottom: 1px solid #dbe7f5;
  box-sizing: border-box;
}

.result-team-title {
  min-width: 0;
}

.result-team-title strong,
.result-team-name {
  display: block;
  font-size: 20px;
  color: #17212f;
  font-weight: 900;
  line-height: 1.25;
  word-break: keep-all;
}

.result-team-name {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.result-team-name:hover,
.result-team-name.is-active {
  color: #0b5cad;
}

.result-team-name .team-name-text {
  display: inline;
}

.result-team-name .team-toggle-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf5ff;
  color: #0b5cad;
  font-size: 11px;
  font-weight: 900;
  vertical-align: middle;
  white-space: nowrap;
}

.result-team-name.is-active .team-toggle-state {
  background: #0b5cad;
  color: #fff;
}

.result-team-title > .result-team-subtitle {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  color: #65758a;
  font-weight: 700;
}

.result-team-total {
  min-height: 58px;
  border-radius: 14px;
  background: #14395f;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.1;
  box-sizing: border-box;
}

.result-team-total span {
  color: rgba(255,255,255,.72);
}

.result-team-total strong {
  margin-top: 5px;
  font-size: 22px;
  font-weight: 900;
  color: #fff;
}

.result-team-member-list {
 display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px;
  box-sizing: border-box;
}

.result-team-member-card {
  border-radius: 12px;
  box-shadow: none;
  background: #fff;
}

.result-team-member-card.is-best3-member::before {
  content: "BEST3";
  position: absolute;
  top: 10px;
  right: 12px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #fff4a3;
  color: #4b3d00;
  font-size: 10px;
  font-weight: 900;
  z-index: 2;
}

.result-team-member-summary {
  grid-template-columns: minmax(150px, 1fr) auto;
  padding-right: 74px;
}

.result-team-member-summary .result-player-name.player-score-toggle {
  font-size: 16px;
}

.result-player-card .player-scorecard-row,
.result-team-member-card .player-scorecard-row {
  padding: 12px 14px 16px;
  background: #f4f8fd;
  border-top: 1px solid #dbe7f5;
  border-bottom: 0;
}

.result-player-card .player-scorecard-box,
.result-team-member-card .player-scorecard-box {
  box-shadow: none;
  border-color: #d7e4f3;
  border-radius: 12px;
}

.result-player-card .player-scorecard-title,
.result-team-member-card .player-scorecard-title {
  background: #ffffff;
  border-bottom: 1px solid #e2e9f2;
}

.result-rule-note {
  margin-top: 8px;
  padding: 12px 14px;
  border: 1px solid #e0e7ef;
  border-radius: 12px;
  background: #fafafa;
  line-height: 1.6;
}

/* 기존 단체전 table/sticky 패치와 분리: 새 구조에서는 table을 사용하지 않음 */
.result-team-card-list .team-table,
.result-team-card-list .team-table-wrap {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .result-card-list,
  .result-team-card-list {
    gap: 12px;
  }

  .result-player-summary {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .result-player-summary .result-score-strip {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .result-rank-badge {
    width: 50px;
    min-height: 50px;
    border-radius: 12px;
  }

  .result-rank-badge strong {
    font-size: 17px;
  }

  .result-player-name.player-score-toggle {
    font-size: 16px;
  }

  .result-score-strip {
    width: 100%;
    gap: 6px;
  }

  .result-score-chip {
    min-width: 48px;
    min-height: 44px;
    padding: 5px 6px;
  }

  .result-score-chip strong {
    font-size: 15px;
  }

  .result-total-chip {
    min-width: 58px;
  }

  .result-team-header {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .result-team-total {
    grid-column: 1 / -1;
    min-height: 48px;
    flex-direction: row;
    gap: 8px;
  }

  .result-team-total strong {
    margin-top: 0;
    font-size: 19px;
  }

  .result-team-title strong,
  .result-team-name {
    font-size: 18px;
  }

  .result-team-title > .result-team-subtitle {
    font-size: 12px;
  }

  .result-team-member-list {
    padding: 10px;
  }

  .result-team-member-summary {
    grid-template-columns: 1fr;
    padding: 12px;
    padding-right: 12px;
  }

  .result-team-member-summary .result-score-strip {
    justify-content: flex-start;
  }

  .result-team-member-card.is-best3-member::before {
    top: 8px;
    right: 10px;
  }

  .result-player-card .player-scorecard-row,
  .result-team-member-card .player-scorecard-row {
    padding: 8px 6px 12px;
  }
}

/* =========================================================
   개인전 순위표: 공통 칼럼 헤더 + 선수 행 구조
   ========================================================= */
.result-individual-table-wrap {
  width: 100%;
  margin-top: 10px;
  border: 1px solid #dbe4ef;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15, 35, 60, 0.07);
  overflow: hidden;
  box-sizing: border-box;
}

.result-individual-table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.result-individual-table {
  min-width: 780px;
  width: 100%;
  box-sizing: border-box;
}

.result-individual-header,
.result-individual-row {
  display: grid;
  grid-template-columns: 70px 150px minmax(180px, 1fr) repeat(4, 78px) 88px;
  align-items: stretch;
}

.result-individual-header {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #f0f4f8;
  border-bottom: 1px solid #cfd9e6;
}

.result-individual-item {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #e3eaf3;
  background: #fff;
  box-sizing: border-box;
}

.result-individual-item:last-child {
  border-bottom: 0;
}

.result-individual-row {
  background: #fff;
  transition: background-color .15s ease;
}

.result-individual-item:hover .result-individual-row {
  background: #f7fbff;
}

.result-individual-cell {
  min-height: 54px;
  padding: 8px 10px;
  border-right: 1px solid #e3eaf3;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  color: #182331;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  word-break: keep-all;
}

.result-individual-header .result-individual-cell {
  min-height: 46px;
  color: #34465c;
  font-size: 13px;
  font-weight: 900;
  background: #f0f4f8;
}

.result-individual-cell:last-child {
  border-right: 0;
}

.result-individual-rank strong {
  min-width: 34px;
  height: 34px;
  padding: 0 6px;
  border-radius: 999px;
  background: #eef7ff;
  color: #14395f;
  border: 1px solid #cfe2f8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 900;
  box-sizing: border-box;
}

.result-individual-name {
  justify-content: center;
}

.result-individual-table .result-player-name.player-score-toggle {
  width: auto;
  max-width: 100%;
  color: #17212f;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: normal;
  word-break: break-all;
}

.result-individual-table .result-player-name.player-score-toggle::after {
  display: none;
  content: none;
}

.result-individual-table .result-player-name.player-score-toggle:hover,
.result-individual-table .result-player-name.player-score-toggle.is-active {
  color: #0b5cad;
}

.result-individual-affiliation {
  justify-content: center;
  color: #5f6b7a;
  font-size: 13px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.result-individual-round strong,
.result-individual-total strong {
  font-size: 15px;
  font-weight: 900;
}

.result-individual-round.is-disabled {
  color: #a2adbd;
  background: #fafbfc;
}

.result-individual-total {
  background: #fff8dc;
  color: #111;
}

.result-individual-table .player-scorecard-row {
  padding: 12px 14px 16px;
  background: #f4f8fd;
  border-top: 1px solid #dbe7f5;
  border-bottom: 0;
  /* margin-top: 10px; */
}

.result-individual-table .player-scorecard-box {
  box-shadow: none;
  border-color: #d7e4f3;
  border-radius: 12px;
}

.result-individual-table .player-scorecard-title {
  background: #ffffff;
  border-bottom: 1px solid #e2e9f2;
}

@media screen and (max-width: 1024px) {
  .result-individual-table-wrap {
    border-radius: 12px;
  }

  .result-individual-table {
    min-width: 690px;
  }

  .result-individual-header,
  .result-individual-row {
    grid-template-columns: 54px 112px minmax(135px, 1fr) repeat(4, 58px) 68px;
  }

  .result-individual-cell {
    min-height: 48px;
    padding: 6px 7px;
    font-size: 12px;
  }

  .result-individual-header .result-individual-cell {
    min-height: 42px;
    font-size: 12px;
  }

  .result-individual-rank strong {
    min-width: 30px;
    height: 30px;
    font-size: 13px;
  }

  .result-individual-table .result-player-name.player-score-toggle {
    font-size: 13px;
  }

  .result-individual-affiliation {
    font-size: 11px;
  }

  .result-individual-round strong,
  .result-individual-total strong {
    font-size: 13px;
  }

  .result-individual-table .player-scorecard-row {
    padding: 8px 6px 12px;
  }
}

/* END INDIVIDUAL TABLE PATCH */



/* =========================================================
   순위/이름/라운드 점수 정렬 정리 패치
   ========================================================= */

/* 순위 원형/뱃지 제거 */
.result-rank-badge,
.result-team-rank {
  width: auto !important;
  min-width: 48px !important;
  min-height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
}

.result-rank-badge span,
.result-team-rank span {
  display: block !important;
  margin: 0 0 3px !important;
  color: #6b7788 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

.result-rank-badge strong,
.result-team-rank strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #14395f !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}

/* 개인전 순위표 안의 원형 제거 */
.result-individual-rank strong {
  min-width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #14395f !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

/* 이름 밑줄 제거 */
.result-player-name.player-score-toggle,
.result-individual-table .result-player-name.player-score-toggle,
.result-team-member-summary .result-player-name.player-score-toggle {
  text-decoration: none !important;
  text-underline-offset: 0 !important;
  border-bottom: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.25 !important;
}

.result-player-name.player-score-toggle:hover,
.result-player-name.player-score-toggle.is-active,
.result-individual-table .result-player-name.player-score-toggle:hover,
.result-individual-table .result-player-name.player-score-toggle.is-active {
  text-decoration: none !important;
}

/* 1R / 점수 위아래 간격 정리 */
.result-score-strip {
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.result-score-chip {
  min-height: 52px !important;
  padding: 6px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  line-height: 1 !important;
}

.result-score-chip span,
.result-team-total span {
  margin: 0 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

.result-score-chip strong,
.result-team-total strong {
  margin: 0 !important;
  line-height: 1.1 !important;
  text-align: center !important;
}

/* 개인전 표 셀 중앙정렬 */
.result-individual-cell,
.result-individual-header .result-individual-cell,
.result-individual-round,
.result-individual-total {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

.result-individual-round strong,
.result-individual-total strong {
  margin: 0 !important;
  line-height: 1.15 !important;
}

@media screen and (max-width: 1024px) {
  .result-rank-badge,
  .result-team-rank {
    width: auto !important;
    min-width: 42px !important;
    min-height: auto !important;
    border-radius: 0 !important;
  }

  .result-rank-badge strong,
  .result-team-rank strong,
  .result-individual-rank strong {
    font-size: 14px !important;
  }

  .result-score-chip {
    min-height: 46px !important;
    padding: 5px 6px !important;
    gap: 3px !important;
  }
}
/* =========================================================
   스코어카드 라운드 선택 탭 + 박스 꽉 차게 보정
   ========================================================= */
.scorecard-round-tabs {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px 0;
  border-top: 1px solid #e4ebf4;
  background: #f8fbff;
  display: none;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.scorecard-round-tabs.is-open {
  display: flex !important;
}

.scorecard-round-label {
  display: inline-flex;
  align-items: center;
  height: 34px;
  margin-right: 4px;
  color: #5f6b7a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.scorecard-round-tab {
  min-width: 56px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #cfdbea;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  box-sizing: border-box;
  font-family: inherit;
  line-height: 1;
}

.scorecard-round-tab span,
.scorecard-round-tab strong {
  display: inline-block;
  margin: 0;
  line-height: 1;
}

.scorecard-round-tab span {
  font-size: 12px;
  font-weight: 800;
}

.scorecard-round-tab strong {
  font-size: 13px;
  font-weight: 900;
}

.scorecard-round-tab:hover,
.scorecard-round-tab.is-active {
  border-color: #1f5f9f;
  background: #1f5f9f;
  color: #fff;
}

.player-scorecard-box {
  width: 100%;
  box-sizing: border-box;
}

.player-scorecard-scroll {
  width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
}

.player-scorecard-grid {
  width: 100%;
  min-width: calc(64px + 18 * 38px + 50px + 50px + 54px);
  display: grid;
  grid-template-columns:
    64px
    repeat(9, minmax(38px, 1fr))
    50px
    repeat(9, minmax(38px, 1fr))
    50px
    54px;
}

.sc-cell {
  width: 100%;
  min-width: 0;
}

@media screen and (max-width: 1024px) {
  .scorecard-round-tabs {
    padding: 8px 8px 0;
    gap: 5px;
  }

  .scorecard-round-label {
    width: 100%;
    height: auto;
    margin: 0 0 2px;
  }

  .scorecard-round-tab {
    min-width: 52px;
    height: 32px;
    padding: 0 8px;
  }

  .player-scorecard-grid {
    width: 100%;
    min-width: calc(58px + 18 * 34px + 46px + 46px + 50px);
    grid-template-columns:
      58px
      repeat(9, minmax(34px, 1fr))
      46px
      repeat(9, minmax(34px, 1fr))
      46px
      50px;
  }
}


/* =========================================================
   라운드 선택 버튼 단순화 + 스코어카드 제목 보정
   ========================================================= */
.scorecard-round-tabs {
  padding: 10px 12px !important;
  align-items: center !important;
  gap: 6px !important;
}

.scorecard-round-label {
  height: 32px !important;
  margin-right: 4px !important;
  line-height: 1 !important;
}

.scorecard-round-tab {
  min-width: 44px !important;
  height: 32px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  line-height: 1 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.scorecard-round-tab span,
.scorecard-round-tab strong {
  display: none !important;
}

.player-scorecard-title {
  justify-content: flex-start !important;
}

.player-scorecard-title > span {
  display: none !important;
}
