/* 공통 */
body {
    margin: 0;
}


.quick_btn{
    position: fixed;
    width: 60px;
    height: 60px;
    left: 1480px;
    bottom: 230px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 3px;
    font-size: 10px;
    color: #FFF;
    text-decoration: none;
    box-sizing: border-box;
    padding-bottom: 5px;
}
.quick_btn>i{
    display: flex;
}


.ai-comm {
    position: relative;
    max-width: 360px;
    width: 100%;
    font-family: 'SUIT', sans-serif;
    left: 1200px;
    z-index: 3;
}

.ai-comm * {
    box-sizing: border-box;
    margin: 0;
}

.ai-comm ul {
    list-style: none;
    padding: 0;
}

.glass {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, .5);
    box-shadow: inset -1px -2px 15px rgba(0, 0, 0, 0.07);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}
#fix-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    position: fixed;
    top: 0;
    left: 1200px;
    max-width: 360px;
    width: 100%;
    padding: 9.5px 20px;
    background: #fff;
    z-index: 30;
}

#fix-header div {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: 0px;
}

#fix-header div lottie-player {
    width: 56px;
}
#fix-header span {
    display: inline-block;
    padding: 2px 8px; /* 패딩을 살짝 줄여 공간 확보 */
    font-weight: 500;
    font-size: 11px; /* 12px에서 11px로 조정 */
    line-height: 14px;
    text-align: center;
    color: #000000;
    background: #EFEFEF;
    border-radius: 20px;
    white-space: nowrap; /* 여전히 한 줄 유지가 중요합니다 */
    opacity: 0;
    transition: all .3s ease-in-out;
}

/* 텍스트가 너무 길어질 경우를 대비한 안전장치 */
@media (max-width: 400px) {
    #fix-header span {
        font-size: 10px; /* 화면이 작거나 공간이 부족할 때 더 줄임 */
        padding: 2px 6px;
    }
}

#fix-header.on span {
    opacity: 1;
}








/* intro */
.modal-container {
    height: 100vh;
    background: #eee;
}

.modal-container .modal {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 40px);
    padding: 20px;
    background: #fff;
    border: 1px solid #CECECE;
    border-radius: 5px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .11);
    /* 자연스러운 페이드인 아웃 추가 2025-11-12 Cossia */
    opacity: 0;
    transition: opacity .2s ease;
}

.modal-container .modal.on {
    /* display: block; */
    /* 자연스러운 페이드인 아웃 추가 2025-11-12 Cossia */
    opacity: 1;
    pointer-events: auto;
}

.modal-container .modal.off {
    /* display: none; */
    /* 자연스러운 페이드인 아웃 추가 2025-11-12 Cossia */
    opacity: 0;
    pointer-events: none;
}

.modal-container #modal-header {
    position: relative;
    padding-right: 26px;
}

.modal-container #modal-header p {
    font-weight: 700;
    font-size: 16px;
    line-height: 28px;
}

.modal-container #modal-header .step {
    display: block;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    color: #6B7280;
}

.modal-container #modal-header .modal-close {
    position: absolute;
    top: 3px;
    right: 0;
}

.modal-container #modal-header img {
    width: 16px;
}

.modal-container #modal-body {
    margin: 20px 0;
}

.modal-container #choice-pet #modal-body {
    margin-top: 28px;
}

.modal-container #modal-body ul li {
    position: relative;
}

.modal-container #modal-body ul li+li {
    margin-top: 10px;
}

.modal-container #modal-body input[type="radio"] {
    position: absolute;
    width: 0;
    height: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
}

.modal-container #modal-body label {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    position: relative;
    padding: 11px 10px 9px;
    cursor: pointer;
}

.modal-container #modal-body label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    border: 1px solid #CECECE;
    border-radius: 5px;
    z-index: -1;
}

.modal-container #modal-body label:hover::before {
    background: #EFEFEF;
}

.modal-container #modal-body input[type="radio"]:checked+label::before {
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    background: #fff;
    border-width: 2px;
    border-color: #F5993D;
}

.modal-container #modal-body label span {
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    color: #999999;
}

.modal-container #modal-body label span:first-of-type {
    font-weight: 700;
    font-size: 14px;
    line-height: 22px;
    color: #090909;
}

.modal-container #modal-body label:hover span:first-of-type {
    color: #999999;
}

.modal-container #modal-body #choice-pet label span:first-of-type {
    display: inline-block;
    max-width: 78px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.modal-container #modal-body input[type="radio"]:checked+label span:first-of-type {
    color: #F5993D;
}

.modal-container #modal-footer {
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    color: #999999;
}


/* result */
.section-container {
    background: #F7F7F7;
}

.section-title {
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    color: #090909;
}

#summary {
    padding: 26px 20px 34px;
    padding-top: 0;
}

#summary .bg {
    position: absolute;
    top: -26px;
    left: 0;
    width: 100%;
    pointer-events: none;
}

#summary .bg img {
    width: 100%;
}

#summary>div:not(.bg) {
    position: relative;
    margin-top: 14px;
    padding-bottom: 10px;
    z-index: 1;
}

#summary .frame {
    padding: 15px 20px 24px;
}

#summary .frame .name {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

#summary .frame .name b {
    font-weight: 800;
    font-size: 17px;
    line-height: 24px;
    color: #090909;
    white-space: nowrap;
}

#summary .frame .name p {
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    color: #7E7F80;
}

#summary .frame .name p span {
    color: #CECECE;
}

#summary .frame hr {
    display: block;
    margin: 10px 0;
    border: none;
    border-top: .5px solid #999999;
}

#summary .frame .info dl {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

#summary .frame .info dt {
    flex-shrink: 0;
    font-weight: 600;
    font-size: 13px;
    line-height: 24px;
    color: #7E7F80;
}

#summary .frame .info dd {
    font-weight: 700;
    font-size: 14px;
    line-height: 24px;
    color: #090909;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

#summary .message {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
}

#summary .message img {
    vertical-align: middle;
    width: 13px;
}

#summary .message span {
    display: inline-block;
    padding: 3.5px 15px;
    font-weight: 600;
    font-size: 13px;
    line-height: 100%;
    text-align: center;
    color: #FFFFFF;
    background: #F5993D;
    border-radius: 60px;
    box-shadow: 3px 4px 2.5px rgba(245, 153, 61, 0.28);
}

#work {
    position: relative;
    padding: 0 20px;
    z-index: 1;
}

#work .desc {
    margin: 4px 0 30px;
    font-weight: 600;
    font-size: 15px;
    line-height: 22px;
    color: #999999;
}

#work .graph {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

#work .graph .level {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 117px;
    height: 117px;
}

#work .graph .level::before,
#work .graph .level::after {
    content: '';
    position: absolute;
    bottom: -49px;
    left: 50%;
    transform: translateX(-50%);
    background: #F5993D;
    z-index: 1;
}

#work .graph .level::before {
    width: 1px;
    height: 100%;
}

#work .graph .level::after {
    width: 5px;
    height: 5px;
    border-radius: 50%;
}

#work .graph .level .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #DEDEDE;
    filter: blur(4px);
    border-radius: 50%;
}

#work .graph .level svg {
    z-index: 1;
}

#work .graph .level .circle-progress {
    fill: none;
    stroke: #f7931e;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-dasharray: 330;
    /* 2πr (r=49) */
    stroke-dashoffset: 330;
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    transition: stroke-dashoffset 1.8s ease-out;
}

#work .graph .level .text {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1px;
    position: absolute;
    width: 93px;
    height: 93px;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    line-height: 28px;
    color: #090909;
    background: #fff;
    border-radius: 50%;
    z-index: 2;
}

#work .graph .level .text span {
    font-weight: 600;
    font-size: 13px;
    line-height: 24px;
    color: #999999;
}

#work .graph .activity {
    text-align: center;
}

#work .graph .activity>div {
    position: relative;
    padding-top: 20px;
    overflow: visible; /* 자식이 밖으로 나가도 보여줌 */
}

#work .graph .activity .name {
    position: absolute;
    top: 0;
    left: 60%;
    height: 100%;
    transform: translateX(-50%);
}

#work .graph .activity .name p {
    position: relative;
    height: 100%;
}

#work .graph .activity .name p::before,
#work .graph .activity .name p::after {
    content: '';
    position: absolute;
    bottom: 6px;
    transform: translateX(-50%);
}

#work .graph .activity .name p::before {
    left: calc(50% + .15px);
    width: 1px;
    height: calc(100% - 26px);
    border-left: 1px dotted #F5993D;
}

#work .graph .activity .name p::after {
    left: 50%;
    width: 6px;
    height: 6px;
    background: #F5993D;
    border-radius: 50%;
}

#work .graph .activity .name span {
    white-space: nowrap; /* 텍스트를 한 줄로 강제 */
    display: inline-block;
    height: 20px;
    padding: 1px 10px;
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
    text-align: center;
    color: #fff;
    background: #F5993D;
    border-radius: 50px;
}

#work .graph .activity>div img {
    width: 100%;
}

#work .graph .activity>p {
    margin-top: -2px;
    font-weight: 500;
    font-size: 12px;
    color: rgba(153, 153, 153, 0.9);
}

#work .info {
    margin-top: 25px;
    padding: 22px 20px 30px;
}

#work .info .top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#work .info .top p,
#work .info .bottom p:not(.category) {
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #090909;
}

#work .info .top .btn {
    text-decoration: none;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    color: #999999;
}

#work .info .top .btn span {
    display: inline-block;
    margin-left: 6px;
    line-height: 24px;
}

#work .info .middle {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 30px;
    margin: 14px 0 20px;
    padding: 0 5px 26px;
    text-align: center;
    border-bottom: 1px solid #EFEFEF;
}

#work .info .middle>div:first-child {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 100%;
}

#work .info .middle>div>div {
    font-weight: 800;
    font-size: 19px;
    line-height: 22px;
    color: #090909;
}

#work .info .middle span {
    display: block;
    font-weight: 500;
    font-size: 13px;
    line-height: 24px;
    color: #999999;
    white-space: nowrap;
}

#work .info .middle .sign {
    font-weight: 500;
    color: rgba(153, 153, 153, 0.9);
}

#work .info .bottom .ratio {
    display: flex;
    margin-top: 20px;
}

#work .info .bottom .ratio>div {
    position: relative;
    padding-top: 28px;
    text-align: center;
}

#work .info .bottom .category {
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
}

#work .info .bottom .category span {
    display: inline-block;
    position: relative;
    padding: 0 10px;
    color: #FFF;
    white-space: nowrap;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    background: #99620F;
    border-radius: 3px;
}

#work .info .bottom .category span::after {
    content: '';
    position: absolute;
    bottom: -4.5px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background: #99620F;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

#work .info .bottom .percent {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 1px;
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    /* text-shadow:
    2px 0 #F59C00, -2px 0 #F59C00,
    0 2px #F59C00, 0 -2px #F59C00,
    1.5px 1.5px #F59C00, -1.5px -1.5px #F59C00,
    -1.5px 1.5px #F59C00, 1.5px -1.5px #F59C00; */
    background: #99620F;
}

#work .info .bottom .percent sub {
    font-size: 7px;
    font-weight: 500;
    transform: translateY(-2px);
}

#work .info .bottom .ratio>div:nth-child(1) .percent {
    border-radius: 3px 0 0 3px;
}

#work .info .bottom .ratio>div:nth-child(4) .percent {
    border-radius: 0 3px 3px 0;
}

#work .info .bottom .ratio>div:nth-child(2) .percent,
#work .info .bottom .ratio>div:nth-child(2) .category span::after,
#work .info .bottom .ratio>div:nth-child(2) .category span {
    background: #F5993D;
}

#work .info .bottom .ratio>div:nth-child(3) .percent,
#work .info .bottom .ratio>div:nth-child(3) .category span::after,
#work .info .bottom .ratio>div:nth-child(3) .category span {
    background: #F5C649;
}

#work .info .bottom .ratio>div:nth-child(4) .percent,
#work .info .bottom .ratio>div:nth-child(4) .category span::after,
#work .info .bottom .ratio>div:nth-child(4) .category span {
    background: #999999;
}

#omega {
    position: relative;
    padding: 0 20px 30px;
}

#omega .bg {
    position: absolute;
    bottom: 30px;
    left: 50%;
    width: calc(100% - 34px);
    transform: translateX(-50%);
    height: 100%;
}

#omega .bg img {
    width: 100%;
    height: 100%;
}

#omega>div:not(.bg) {
    position: relative;
    padding: 20px 20px 28px;
    z-index: 1;
}

#omega>div>div>p {
    margin-bottom: 9px;
    font-weight: 700;
    font-size: 18px;
    line-height: 22px;
    color: #fff;
}

#omega>div>div>p small {
    margin-left: 7px;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

#omega .step.on {
    display: block;
}

#omega .step.off {
    display: none;
}





/* =========================
   오메가3 bar + span 동기화 버전
   - ::after(채움) : width 0 -> --p
   - span(말풍선) : left 0 -> --p (같은 시간/이징)
========================= */

#omega .step .bar {
    position: relative;
    margin-bottom: 30px;

    /* 단계별로 덮어쓸 값 */
    --p: 0%;
    --dur: .6s;
    --ease: ease-in-out;
    --tx: -50%;
    /* 기본: 끝점에 말풍선 '가운데'를 붙임 */
    height: 22px;
}

#omega .step .bar::before,
#omega .step .bar::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    height: 4px;
    transform: translateY(-50%);
    border-radius: 2px;
}

#omega .step .bar::before {
    width: 100%;
    background: #A50;
}

/* 채워지는 바 */
#omega .step .bar::after {
    width: 0%;
    background: #fff;
    transition: width var(--dur) var(--ease);
}

/* 말풍선 */
#omega .step .bar span {
    display: inline-flex;
    align-items: center;
    gap: 1px;

    position: absolute;
    /* bar 기준으로 이동 */
    left: 0%;
    top: 0;
    /* 필요하면 조정 */

    padding: 0 10px;
    color: #F5993D;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    border-radius: 30px;
    background: #FFF;
    z-index: 2;

    transform: translateX(-50%);
    transition:
        left var(--dur) var(--ease),
        transform var(--dur) var(--ease),
        opacity .15s ease-in-out;
    opacity: 0;
}

/* on 되면: 채움/말풍선 둘 다 같은 목표치로 이동 */
#omega .step .bar.on::after {
    width: var(--p);
}

#omega .step .bar.on span {
    left: var(--p);
    transform: translateX(var(--tx));
    opacity: 1;
}

/* 단계별 목표값(정지 위치 + 시간) */
#omega .step1 .bar {
    --p: 7%;
    --dur: .6s;
    --tx: -10%;
}

#omega .step2 .bar {
    --p: 50%;
    --dur: 1s;
    --tx: -50%;
}

/* 오른쪽 끝(100%)은 말풍선 폭만큼 왼쪽으로 당겨서 밖으로 안 나가게 */
#omega .step3 .bar {
    --p: 100%;
    --dur: 1.5s;
    --tx: -100%;
}




#omega .step .bar span b {
    font-size: 15px;
    font-weight: 800;
    line-height: 22px;
}

#omega .step .text {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 16px;
}

#omega .step .text img {
    width: 13px;
    flex-shrink: 0;
}

#omega .step .text p {
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
}


/* 오메가3 - 알수 없음 값 애니메이션 추가
1. 좌우로 기웃기웃거리는 흔들림 정의 */
@keyframes shake-around {
    0%, 100% { transform: translateX(-50%); } /* 정중앙 */
    50% { transform: translateX(-58%); }      /* 왼쪽으로 아주 살짝 */
    /* 50% 지점만 설정하면 왔다갔다 하는 동선이 더 완만해집니다 */
}

/* 2. 스타일 및 속도 조절 */
#omega .step.is-unknown .bar {
    --p: 50%;
    --dur: 2s; /* 바가 차오르는 시간 */
}

#omega .step.is-unknown .bar.on span {
    transition: left var(--dur) var(--ease), opacity .15s ease-in-out;
    left: var(--p);
    
    /* [수정] 애니메이션 시간을 3초(3s)로 늘려 매우 천천히 기웃거리게 설정 */
    /* [수정] cubic-bezier를 사용하여 움직임의 시작과 끝을 더 끈적하고 부드럽게 처리 */
    animation: shake-around 5s cubic-bezier(0.45, 0, 0.55, 1) 1s infinite;
    
    transform: translateX(-50%);
    background: #888;
    color: #fff;
    opacity: 1;
    will-change: transform;
}
/* [채워지는 바] */
#omega .step.is-unknown .bar::after {
    background: #888;    /* 채워지는 색상을 차분한 회색으로 */
    animation: pulse-opacity 1.5s infinite; /* 선택사항: 깜빡이는 효과 */
}

/* [말풍선 배경 및 글자색] */
#omega .step.is-unknown .bar.on span {
    background: #888;    /* 말풍선 배경을 진한 회색으로 */
    color: #fff;         /* 글자색은 흰색으로 대비 */
    border: none;
    animation: shake-around 1.5s ease-in-out infinite;
    left: var(--p);
}

/* [말풍선 내부 b태그(숫자/물음표) 색상] */
#omega .step.is-unknown .bar span b {
    color: #fff;         /* 물음표 색상도 흰색으로 통일 */
}


#measuring {
    padding: 25px 20px 40px;
    background: #F0F0F0;
}

#measuring .desc {
    color: #999;
    text-align: center;
    font-size: 10px;
    font-weight: 500;
    line-height: 16px;
}

#measuring .desc::before {
    content: '•';
    display: inline-block;
    margin-right: 6px;
    transform: translateY(-1px);
}

#measuring .guide {
    display: flex;
    align-items: center;
    margin: 13px 0;
}

#measuring lottie-player {
    width: 125px;
}

#measuring .guide ul li {
    display: flex;
    align-items: center;
    gap: 10px;
    position: relative;
    padding-left: 60px;
    color: #090909;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
}

#measuring .guide ul li+li {
    margin-top: 2px;
}

#measuring .guide ul li::before,
#measuring .guide ul li::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#measuring .guide ul li::before {
    left: 0;
    width: 54px;
    height: 1px;
    border-top: 1px dotted #999999;
}

#measuring .guide ul li::after {
    left: 48px;
    width: 6px;
    height: 6px;
    background: #999999;
    border-radius: 50%;
}

#measuring .guide ul li span {
    color: #999;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
}

#food {
    position: relative;
    perspective: 1000px;
    padding: 33px 20px 27px;
    background: url(/images/result/food-bg.png) no-repeat center top -15px / cover;
    overflow: hidden;
    padding-bottom: 23px;
}

#food .obj {
    position: absolute;
    top: 0;
    left: 0;
    animation: floatUpDown 3.5s ease-in-out infinite;
}

#food .item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    position: relative;
    z-index: 1;
}

#food .item img {
    flex-shrink: 0;
    width: 100px;
}

#food .item>div {
    padding-top: 6px;
    width: calc(100% - 60px);
}

#food .item>div>div>p:first-child {
    margin-bottom: 9px;
    color: #EFEFEF;
    font-size: 15px;
    font-weight: 500;
    line-height: 22px;
}

#food .item>div>p:last-child {
    color: #FFF;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

#food .cards {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 10px;
    margin: 30px 0 32px;
}

#food .card {
    position: relative;
    width: calc((100%/3) - 7px);
    height: 110px;
    transform-style: preserve-3d;
    transition: transform 0.8s ease;
    cursor: pointer;
}

#food .card .front,
#food .card .back {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    inset: 0;
    text-align: center;
    backface-visibility: hidden;
    border-radius: 5px;
}

#food .card .front {
    background: url(/images/result/food-card1.png) no-repeat center center / 100% 100%;
}

#food .card .back {
    transform: rotateY(180deg);
}

#food .card.good .back {
    background: url(/images/result/food-card2.png) no-repeat center center / 100% 100%;
}

#food .card.soso .back {
    background: url(/images/result/food-card3.png) no-repeat center center / 100% 100%;
}

#food .card.backside {
    transform: rotateY(180deg);
}

#food .card>div>p {
    color: #A5A5A5;
}

#food .card>div>p:first-of-type {
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
}

#food .card>div>p:last-of-type {
    font-size: 10px;
    font-weight: 300;
    line-height: 14px;
}

#food .card.good>div.back>p {
    color: rgba(255, 245, 135, 0.91);
}

#food .card.soso>div.back>p {
    color: #CECECE;
}

#food .card .text {
    margin: 6px 0 8px;
    width: 11px;
    height: 14.5px;
    background: url(/images/result/food-text1.png) no-repeat center center / 100% 100%;
}

#food .card.good>div.back .text {
    width: 56.5px;
    height: 15px;
    background-image: url(/images/result/food-text2.png);
}

#food .card.soso>div.back .text {
    width: 59px;
    height: 15px;
    background-image: url(/images/result/food-text3.png);
}

#food .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    outline: none;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}

#food .btn img {
    width: 10.5px;
    flex-shrink: 0;
    /* 추가: 화살표가 부드럽게 돌아가게 만듭니다 */
    transition: transform 0.3s ease;
}

/* 추가: 버튼에 active 클래스가 붙었을 때 이미지를 180도 회전 */
#food .btn.active img {
    transform: rotate(180deg);
}

@keyframes floatUpDown {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-12px);
    }

    100% {
        transform: translateY(0);
    }
}

#food-detail {
    margin-top: -19px;
    padding: 43px 20px 36px;
    background: #152238
}

#food-detail.off {
    display: none;
}

#food-detail.on {
    display: block;
}

#food-detail ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

#food-detail ul li+li {
    margin-top: 17px;
    padding-top: 12px;
    border-top: 1px solid #344C75;
}

#food-detail ul li dt {
    margin-bottom: 1px;
    color: #FFF;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#food-detail ul li dd {
    overflow: hidden;
    color: #F5F5F5;
    font-size: 13px;
    font-weight: 500;
    line-height: 18px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#food-detail ul li span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex-shrink: 0;
    padding: 0 13px;
    font-size: 12px;
    font-weight: 700;
    line-height: 24px;
    border-radius: 25px;
}

#food-detail ul li span::before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
}

#food-detail ul li span.enough {
    color: #FF9500;
    background: #372002;
}

#food-detail ul li span.enough::before {
    background: #FF9500;
}

#food-detail ul li span.lacking {
    color: #686F7B;
    background: #020F24;
    ;
}

#food-detail ul li span.lacking::before {
    border: 1px dashed #989faa;
}

#food-detail .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 39px auto 0;
    color: #999;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    outline: none;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}

#food-detail .btn img {
    width: 10.5px;
    flex-shrink: 0;
}

#ai-tab {
    position: relative;
    margin-top: -4px;
    z-index: -1;
}

#ai-tab .popup-box {
    position: absolute;
    top: 58px;
    left: 0;
    width: 100%;
    height: calc(100% - 58px);
    z-index: 10;
}

#ai-tab .popup-box .popup,
#ai-tab .popup-box .popup::after {
    width: 100%;
    height: 100%;
}

#ai-tab .popup-box .popup {
    position: relative;
    padding: 70px 0;
}

#ai-tab .popup-box .popup::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2);
    backdrop-filter: blur(1.7px);
}

#ai-tab .popup-box .popup>div {
    width: 286px;
    position: relative;
    margin: 0 auto;
    padding: 30px 20px 20px 20px;
    text-align: center;
    border-radius: 10px;
    background: #FFF;
    z-index: 1;
}

#ai-tab .popup-box .popup>div p {
    color: #090909;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

#ai-tab .popup-box .popup>div p span {
    color: #F5993D;
}

#ai-tab .popup-box .popup>div p span img {
    width: 18px;
    vertical-align: middle;
    margin-right: 4px;
}

#ai-tab .popup-box .popup>div>img {
    margin: 30px 0 12px;
}

#ai-tab .popup-box .popup .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    width: 65px;
    height: 18px;
    margin-left: auto;
    color: #999;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    border-radius: 40px;
    border: 1px solid #CECECE;
    outline: none;
    padding: 0;
    background: #fff;
    cursor: pointer;
}

#ai-tab .popup-box .popup .btn img {
    width: 15px;
}

#ai-tab .swiper-wrapper {
    align-items: flex-start;
}

#ai-tab .swiper-pagination {
    display: flex;
    gap: 13px;
    position: unset;
    padding: 0 20px;
    background: #fff;
}

#ai-tab .swiper-pagination-bullet {
    display: inline-block;
    width: 25%;
    height: auto;
    border-radius: 0;
    background: none;
    opacity: 1;
    color: #999;
    padding: 18px 0 10px;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    border-bottom: 2px solid #fff;
}

#ai-tab .swiper-pagination-bullet-active {
    color: #F5993D;
    font-weight: 800;
    border-color: #F5993D;
}

#ai-tab .section-title {
    color: #fff;
    text-shadow: 0 0 4px rgba(0, 0, 0, .25);
}

#ai-tab .inner {
    position: relative;
    background: #F7F7F7;
}

#ai-tab .inner .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

#ai-tab .inner>*:not(.bg) {
    position: relative;
    z-index: 1;
}

#ai-tab .inner1 {
    padding: 30px 20px;
}

#ai-tab .inner1 .score-box>div {
    display: flex;
    align-items: center;
}

#ai-tab .inner1 .score-box>div:first-child {
    justify-content: space-between;
    margin-bottom: 14px;
}

#ai-tab .inner1 .score-box>div:last-child {
    justify-content: flex-end;
    gap: 6px;
}

#ai-tab .inner1 .score-box .num {
    color: #fff;
    font-family: 'Inter';
    font-size: 48px;
    font-weight: 800;
    line-height: 56px;
    letter-spacing: 0.352px;
    text-shadow: 0 0 4px rgba(0, 0, 0, .25);
}

#ai-tab .inner1 .score-box .num small {
    font-family: 'SUIT';
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

#ai-tab .inner1 .score-box img {
    width: 15px;
}

#ai-tab .inner1 .score-box .desc {
    padding: 2px 22px;
    color: #FFF;
    font-family: 'Inter';
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.15px;
    border-radius: 20px;
    background: #393939;
}

#ai-tab .inner1 .chart-box {
    position: relative;
    width: 283px;
    margin: 35px auto 20px;
}

#ai-tab .inner1 .chart-box canvas {
    width: 100% !important;
}

#ai-tab .inner1 .chart-box .grid,
#ai-tab .inner1 .chart-box .bg {
    position: absolute;
    top: 50%;
    left: 52%;
    transform: translate(-50%, -50%);
}

#ai-tab .inner1 .chart-box .grid {
    width: 172px;
}

#ai-tab .inner1 .chart-box .bg {
    width: 72px;
}

#ai-tab .inner1 .chart-desc {
    margin-bottom: 18px;
    text-align: center;
}

#ai-tab .inner1 .chart-desc>div {
    display: inline-flex;
    align-items: center;
    gap: 26px;
    margin: 0 auto;
    padding: 2px 15px;
    border-radius: 60px;
    background: rgba(255, 255, 255, 0.70);
}

#ai-tab .inner1 .chart-desc p {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #F5993D;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

#ai-tab .inner1 .chart-desc p::before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background: #F5993D;
    border-radius: 50%;
}

#ai-tab .inner1 .chart-desc p:last-child {
    color: #999999;
}

#ai-tab .inner1 .chart-desc p:last-child::before {
    background: #999999;
}

#ai-tab .inner1 .data-box {
    padding: 20px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
}

#ai-tab .inner1 .data-box li {
    padding: 0 10px 20px;
    margin-bottom: 15px;
    border-bottom: .5px solid #999;
}

#ai-tab .inner1 .data-box li:last-child {
    margin: 0;
    border: none;
}

#ai-tab .inner1 .data-box .subject {
    color: #090909;
    font-size: 17px;
    font-weight: 700;
    line-height: 22px;
}

#ai-tab .inner1 .data-box .bar {
    position: relative;
    width: 100%;
    height: 8px;
    margin: 15px 0;
    border-radius: 20px;
    background: #CECECE;
    overflow: visible;
}

/* 게이지 바 */
#ai-tab .inner1 .data-box .bar span {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    transition: width 2s ease-in-out;
    border-radius: 20px;
}

/* 도트 컨테이너 수정 */
.dot-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    /* flex를 제거하고 absolute 배치를 사용합니다 */
}

/* 개별 도트의 공통 스타일 */
.dot {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%); /* 중심점 보정 */
    width: 4px;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
}

/* 도트별 정밀 위치 (4구간 중앙 지점) */
.dot:nth-child(1) { left: 25%; } /* 1구간(0~25)의 중앙 */
.dot:nth-child(2) { left: 50%; } /* 2구간(25~50)의 중앙 */
.dot:nth-child(3) { left: 75%; } /* 3구그(50~75)의 중앙 */

#ai-tab .inner1 .data-box .desc {
    position: relative;
    color: #999;
    font-size: 15px;
    font-weight: 600;
    line-height: 24px;
}

#ai-tab .inner1 .data-box .desc lottie-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 154px;
    height: auto;
}

#ai-tab .inner2 {
    padding: 36px 20px;
}

#ai-tab .inner2 .section-title {
    margin-bottom: 29px;
    text-shadow: none;
    color: #090909;
}

#ai-tab .inner2 .graph-box {
    max-height: 145px;
    overflow: hidden;
    transition-duration: 0.3s;
}

#ai-tab .inner2 .graph-box.open {
    max-height: 100%;
}



#ai-tab .inner2 .graph-box>div {
    display: flex;
    align-items: center;
    gap: 10px;
}

#ai-tab .inner2 .graph-box>div+div {
    margin-top: 3px;
}

#ai-tab .inner2 .graph-box .name {
    flex-shrink: 0;
    width: 68px;
    padding: 6px 10px;
    padding-right: 0;
    text-align: right;
    color: #090909;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
}

#ai-tab .inner2 .graph-box .bar {
    height: 20px;
    border-radius: 0 50px 50px 0;
    background: #7B7B7B;
    transition: width 1s ease-in-out;
}

#ai-tab .inner2 .graph-box .max-salary .bar {
    background: linear-gradient(273deg, #F5993D 20.97%, #FAC762 75.81%, #FFF587 130.65%);
}

#ai-tab .inner2 .graph-box .desc {
    color: #7B7B7B;
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;
}

#ai-tab .inner2 .graph-box .max-salary .desc {
    color: #090909;
}

#ai-tab .inner2 .graph-box .mark {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1px;
    position: relative;
    width: 67px;
    height: 20px;
    color: #FFF;
    font-size: 12px;
    font-weight: 500;
    line-height: 24px;
    border-radius: 5px;
    background: #090909;
}

#ai-tab .inner2 .graph-box .desc,
#ai-tab .inner2 .graph-box .mark {
    opacity: 0;
    transition: opacity .4s ease;
}

#ai-tab .inner2 .graph-box.show-text .desc,
#ai-tab .inner2 .graph-box.show-text .mark {
    opacity: 1;
}

#ai-tab .inner2 .graph-box .mark::after {
    content: '';
    position: absolute;
    top: 50%;
    left: -5px;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    background: #090909;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
}

#ai-tab .inner2 .graph-box .mark img {
    width: 8px;
}

#ai-tab .inner2 .btn {
    position: relative;
    width: 100%;
    text-align: center;
    background: none;
    outline: none;
    padding: 0;
    border: none;
    margin: 34px 0 33px;
    cursor: pointer;
}

#ai-tab .inner2 .btn::before,
#ai-tab .inner2 .btn::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 66px;
    height: .5px;
    background: #666666;
}

#ai-tab .inner2 .btn::before {
    left: 0;
}

#ai-tab .inner2 .btn::after {
    right: 0;
}

#ai-tab .inner2 .btn span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 15px;
    color: #666666;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

#ai-tab .inner2 .btn span img {
    width: 10px;
}

#ai-tab .inner2 .info-box {
    padding: 20px;
}

#ai-tab .inner2 .info-box p:first-child {
    margin-bottom: 10px;
    color: #090909;
    font-size: 17px;
    font-weight: 700;
    line-height: 28px;
}

#ai-tab .inner2 .info-box div {
    position: relative;
    color: #999;
    font-size: 15px;
    font-weight: 600;
    line-height: 24px;
    word-break: keep-all;
}

#ai-tab .inner2 .info-box div lottie-player {
    position: absolute;
    top: 0;
    left: 0;
    width: 154px;
    height: auto;
}

#ai-tab .inner3 {
    padding: 36px 20px 28px;
}

#ai-tab .inner3 .case.on {
    display: block;
}

#ai-tab .inner3 .case.off {
    display: none;
}

#ai-tab .inner3 .desc {
    color: var(--Color, #FFF);
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
}

#ai-tab .inner3 .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    color: #FFF;
    font-family: 'Inter';
    font-size: 13px;
    font-weight: 700;
    line-height: 19.5px;
    letter-spacing: -0.076px;
    text-decoration: none;
    border-radius: 10px;
    background: #F5993D;
}

#ai-tab .inner3 .case1 .desc {
    margin: 13px 0 32px;
}

#ai-tab .inner3 .case1 .img {
    width: 220px;
    margin: 0 auto;
}

#ai-tab .inner3 .case1 .img img {
    max-width: 100%;
}

#ai-tab .inner3 .case1 .range {
    position: relative;
    padding-top: 88px;
}

#ai-tab .inner3 .case1 .range .size {
    display: flex;
    border-top: 2px solid #999;
}

#ai-tab .inner3 .case1 .range .size span {
    display: inline-block;
    position: relative;
    width: 25%;
    padding-top: 20px;
    text-align: center;
    color: #999;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
}

#ai-tab .inner3 .case1 .range .size span::before,
#ai-tab .inner3 .case1 .range .size span:last-child::after {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    width: 1px;
    height: 3px;
    background: #999;
}

#ai-tab .inner3 .case1 .range .size span:last-child::after {
    left: unset;
    right: 0;
}

#ai-tab .inner3 .case1 .range .current {
    position: absolute;
    top: 51px;
    transform: translateX(-50%);
    z-index: 1;
}

#ai-tab .inner3 .case1 .range .current span {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 72px;
    height: 26px;
    color: #FFF;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
    border-radius: 5px;
    background: #090909;
}

#ai-tab .inner3 .case1 .range .current span::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 13px;
    height: 13px;
    background: #090909;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

#ai-tab .inner3 .case1 .range .recommendation {
    position: absolute;
    padding: 17px 10px 46px;
    text-align: center;
    background: url(/images/result/kibble-box.png) no-repeat center top / 100% 100%;
}

#ai-tab .inner3 .case1 .range .recommendation.size1 {
    left: -4px;
    bottom: 35px;
    width: calc(50% + 9px);
}

/*
#ai-tab .inner3 .case1 .range .recommendation.size2{
    right: -5px;
    bottom: 34px;
    width: calc(76% + 7px);
}
*/
#ai-tab .inner3 .case1 .range .recommendation.size2,
#ai-tab .inner3 .case1 .range .recommendation.size3 {
    right: -3px;
    bottom: 34px;
    width: calc(50% + 7px);
}

#ai-tab .inner3 .case1 .range .recommendation.size4 {
    left: -8px;
    bottom: 35px;
    width: calc(100% + 15px);
}

#ai-tab .inner3 .case1 .range .recommendation img {
    width: 14px;
}

#ai-tab .inner3 .case1 .range .recommendation p:first-of-type {
    margin-top: 5px;
    color: #FFF;
    font-size: 12px;
    font-weight: 600;
    line-height: 24px;
}

#ai-tab .inner3 .case1 .range .recommendation p:last-of-type {
    margin-top: -2px;
    color: #FFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;
}

#ai-tab .inner3 .case1 .info-box {
    margin: 44px 0 20px;
    padding: 20px 20px 26px;
}

#ai-tab .inner3 .case1 .info-box p:first-child {
    margin-bottom: 10px;
    color: #090909;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
}

#ai-tab .inner3 .case1 .info-box p:last-child {
    color: #999;
    font-size: 15px;
    font-weight: 600;
    line-height: 24px;
    word-break: keep-all;
}

#ai-tab .inner3 .case2 lottie-player {
    width: 189px;
    margin: 30px auto 20px;
}

#ai-tab .inner3 .case2 .desc {
    text-align: center;
}

#ai-tab .inner3 .case2 img {
    width: 100%;
    margin: 30px 0 10px;
}

#ai-tab .inner4 {
    padding: 35px 20px 41px;
}

#ai-tab .inner4 .section-title {
    margin-bottom: 3px;
}

#ai-tab .inner4 .desc {
    color: var(--white, #FFF);
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
}

#ai-tab .inner4 .graph-box {
    margin-bottom: 50px;
}

#ai-tab .inner4 .chart-box {
    margin-top: 38px;
    height: 220px;
}

#ai-tab .inner4 .chart-box #history-chart {
    width: 100% !important;
    height: 100% !important;
}

#ai-tab .inner4 .history-box ul {
    position: relative;
    margin-top: 33px;
}

#ai-tab .inner4 .history-box ul::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 5.25px;
    width: 1px;
    height: calc(100% - 80px);
    transform: translateY(-50%);
    border-left: 1px dashed #999999;
}

#ai-tab .inner4 .history-box ul li {
    position: relative;
    padding-left: 38px;
}

#ai-tab .inner4 .history-box ul li+li {
    margin-top: 25px;
}

#ai-tab .inner4 .history-box li::before {
    content: '';
    position: absolute;
    top: 35px;
    left: 0;
    width: 8px;
    height: 8px;
    background: #cecece;
    border: 2px solid #cecece;
    border-radius: 50%;
}

#ai-tab .inner4 .history-box li:first-child::before {
    background: #fff;
    border-color: #F5993D;
}

#ai-tab .inner4 .history-box li>div {
    padding: 15px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.075);
    border: 1px solid transparent;
}

#ai-tab .inner4 .history-box li:first-child>div {
    background: rgba(255, 255, 255, 0.3);
    border: 1px solid rgba(255, 255, 255, .5);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
}

#ai-tab .inner4 .history-box .date {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
    color: #999;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
}

#ai-tab .inner4 .history-box .point {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: 4px;
    height: 19px;
    padding: 0 15px;
    color: #FFF;
    font-weight: 400;
    line-height: 24px;
    border-radius: 15px;
}

#ai-tab .inner4 .history-box .point1 {
    background: #090909;
}

#ai-tab .inner4 .history-box .point2 {
    background: #512B05;
}

#ai-tab .inner4 .history-box .point3 {
    background: #B3610F;
}

#ai-tab .inner4 .history-box .point4 {
    background: #F5993D;
}

#ai-tab .inner4 .history-box .point b {
    font-weight: 900;
}

#ai-tab .inner4 .history-box .name {
    color: #000;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}














/* **************************************************************************** */
/* **************************************************************************** */
/* 25.11.26 추가 스타일 */
/* 탭 */
.add_tabs {
    position: absolute;
    margin: 0 auto;
    width: 240px;
    top: 60px;
    left: 50%;
    transform: translate(-50%);
    z-index: 29;
    background-color: #D9D9D9;
    height: 30px;
    border-radius: 30px;
    overflow: hidden;
    width: 245px;
    box-sizing: border-box;
    transition-duration: 0.3s;
}

.add_tabs .bg {
    position: absolute;
    z-index: 1;
    left: 0;
    width: 50%;
    height: 100%;
    background-color: #FFF;
    border: 1px solid #d9d9d9;
    box-sizing: border-box;
    border-radius: 30px;
    transform: translateX(0);
    transition-duration: 0.3s;
    pointer-events: none;
}

.add_tabs .bg.to-right {
    left: auto;
    right: 0;
}

.add_tabs>ul {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
}

.add_tabs>ul>li {
    width: 50%;
    box-sizing: border-box;
    height: 100%;
}

.add_tabs>ul>li>a {
    line-height: 30px;
    text-align: center;
    width: 100%;
    height: 100%;
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #999;
    text-decoration: none;
    border-radius: 50px;
    box-sizing: border-box;
    cursor: pointer;
    transition-duration: 0.3s;
}

.add_tabs.note {
    background-color: #092047;
}

.add_tabs>ul>li.active>a {
    color: #344C75;
    font-weight: 700;
}







/* 탭 콘텐츠 */
.add_tab_cons {
    position: relative;
}

.add_tab_cons>.total_box {
    padding-top: 110px;
}

.add_tab_cons>.total_box01 {
    position: relative;
    z-index: 1;
    background-color: #F7F7F7;
}

/* 팝업 */
.popup_box {
    position: fixed;
    left: 1200px;
    top: 0;
    width: 360px;
    height: 100vh;
    background: rgba(9, 9, 9, 0.1);
    z-index: 9999;
    display: none;
}

.popup_box .popup {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 322px;
    border-radius: 5px;
    background-color: #FFF;
    box-sizing: border-box;
    padding: 20px;
}

.popup_box .popup .tit_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.add_tab_cons .popup_box .popup .tit_wrap p {
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    color: #090909;
}

.popup_box .popup .tit_wrap button {
    appearance: none;
    border: none;
    background: none;
    cursor: pointer;
}

.popup_box .popup .con_wrap>p {
    line-height: 24px;
    font-size: 14px;
    font-weight: 500;
    color: #000;
}

.popup_box .popup .con_wrap>div {
    font-size: 12px;
    font-weight: 300;
    color: #999;
    margin-top: 20px;
}

.popup_box .popup .con_wrap>div>a {
    color: #F5993D;
    font-weight: 700;
}




/* 해설 노트 배경색 설정 */
.add_tab_cons>.total_box02 {
    box-sizing: border-box;
    padding-top: 90px;
    color: #FFF;
    background-color: transparent;
    padding-bottom: 64px;
    position: relative;
    overflow: hidden;
    z-index: 0;
    display: none;
    background-color: #1B3055;
}



.add_tab_cons>.total_box02 .bg_video_wrap {
    position: fixed;
    top: 0;
    /* 화면 상단에 붙어 있게 */
    height: 360px;
    /* 항상 화면 높이 */
    width: 360px;
    overflow: hidden;
    z-index: -1;
    /* 콘텐츠보다 뒤로 가게 조정 예정 */
}

.add_tab_cons>.total_box02 .bg_video_wrap video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 화면 꽉 채우기 */
}







.add_tab_cons>.total_box02 #cal_loading,
.add_tab_cons>.total_box02 #cal_result {
    width: 300px;
    height: 300px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.add_tab_cons>.total_box02 #cal_loading {
    position: relative;
    /*top: -50px;*/
}

.add_tab_cons>.total_box02 #cal_result {
    display: none;
}


.add_tab_cons>.total_box .note_bottom {
    position: relative;
    z-index: 2;
    padding: 0 20px;
    box-sizing: border-box;
    margin-top: -50px;
}

.add_tab_cons>.total_box .note_bottom .note_con:not(:last-child) {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #50678F;
}

.add_tab_cons>.total_box .note_bottom .note_con h3 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 20px;
}

.add_tab_cons>.total_box .note_bottom .note_con h4,
.add_tab_cons>.total_box .note_bottom .note_con p {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5em;
}

.add_tab_cons>.total_box .note_bottom .note_con .m-t-0 {
    margin-top: 0;
}

.add_tab_cons>.total_box .note_bottom .note_con ul>li {
    font-size: 16px;
    font-weight: 400;
    position: relative;
    box-sizing: border-box;
    display: block;
    line-height: 1.6em;
    padding-left: 25px;
    margin-bottom: 10px;
}

.add_tab_cons>.total_box .note_bottom .note_con ul>li::before {
    content: '';
    display: block;
    position: absolute;
    left: 11px;
    top: 8px;
    width: 3px;
    height: 3px;
    border-radius: 3px;
    background-color: #FFF;
}












.add_tit_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.add_tit_wrap button {
    appearance: none;
    border: none;
    background: none;
    width: 18px;
    height: 18px;
    cursor: pointer;
}




@media screen and (max-width: 360px) {
    .add_tab_cons>.total_box02 .bg_video_wrap {
        width: 100%;
    }
}










/* pc 배경 */
body {
    background-color: #F7F3EE;
}

#Wrap {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    font-family: 'SUIT', sans-serif;
}

#Wrap::after {
    content: '';
    display: block;
    position: fixed;
    right: 0;
    bottom: 0;
    width: 1471px;
    height: 1080px;
    background: url(/images/add_pc_bg/pc_bg.png) no-repeat center / cover;
    z-index: 1;
}

#Wrap .pc_left {
    position: fixed;
    left: 405px;
    top: 50%;
    transform: translateY(-50%);
    width: 340px;
    z-index: 2;
}

#Wrap .pc_left .tit_wrap {
    text-align: center
}

#Wrap .pc_left .tit_wrap h1 {
    font-size: 40px;
    font-weight: 500;
    color: #666;
    margin: 0;
}

#Wrap .pc_left .tit_wrap h1 span.orange {
    font-weight: 700;
    color: #F5993D;
}

#Wrap .pc_left .tit_wrap p {
    font-size: 22px;
    font-weight: 400;
    color: #666;
    margin-top: 6px;
}

#Wrap .pc_left .img_wrap {
    margin: 50px 0;
    display: flex;
    justify-content: center;
}

#Wrap .pc_left .img_wrap img {
    position: relative;
    animation: floatUpDown 3s ease-in-out infinite;
}

/* 위아래로 둥둥 떠다니는 애니메이션 */
@keyframes floatUpDown {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-20px);
        /* 위로 10px */
    }

    100% {
        transform: translateY(0);
    }
}






#Wrap .pc_left .footer_wrap {
    display: flex;
    column-gap: 57px;
    justify-content: center;
    align-items: center;
}

#Wrap .pc_left .footer_wrap .sns_list>li {
    list-style: none;
    margin-bottom: 15px;
}

#Wrap .pc_left .footer_wrap .sns_list>li>a {
    display: flex;
    align-items: center;
    column-gap: 17px;
    font-size: 20px;
    font-weight: 500;
    color: #7E7F80;
    text-decoration: none;
}

#Wrap .pc_left .footer_wrap .sns_list>li>a>i {
    display: flex;
    width: 30px;
    justify-content: center;
}





@media screen and (max-width: 1920px) {
    .ai-comm {
        left: 1000px;
    }

    #fix-header {
        left: 1000px;
    }

    .popup_box {
        left: 1000px;
    }

    .quick_btn{
        left: 1280px;
    }
}

@media screen and (max-width: 1660px) {
    #Wrap .pc_left {
        left: 200px;
    }

    #Wrap::after {
        width: 80%;
        height: 100vh;
    }

    .ai-comm {
        left: 800px;
    }

    #fix-header {
        left: 800px;
    }

    .popup_box {
        left: 800px;
    }

    .quick_btn{
        left: 1080px;
    }

}

@media screen and (max-width: 1280px) {
    #Wrap .pc_left {
        left: 20px;
    }

    .ai-comm {
        left: 600px;
    }

    #fix-header {
        left: 600px;
    }

    .popup_box {
        left: 600px;
    }

    .quick_btn{
        left: 880px;
    }
}


@media screen and (max-width: 1024px) {
    #Wrap .pc_left {
        left: 20px;
    }

    .ai-comm {
        left: 400px;
    }

    #fix-header {
        left: 400px;
    }

    .popup_box {
        left: 400px;
    }

    #Wrap::after {
        width: 100%;
    }

    .quick_btn{
        left: 680px;
    }


}

@media screen and (max-width: 768px) {
    #Wrap::after {
        display: none;
    }

    #Wrap .pc_left {
        display: none;
    }

    .ai-comm {
        left: 0;
        margin: 0 auto;
    }

    #fix-header {
        max-width: 360px;
        left: 50%;
        transform: translate(-50%);
    }

    .popup_box {
        left: 50%;
        transform: translateX(-50%);
    }
    .quick_btn{
        left: 50%;
        transform: translateX(100px);
    }
}


@media screen and (max-width: 431px) {
    .ai-comm {
        left: 0;
        margin: 0 auto;
        width: 100%;
        max-width: 100%
    }

    #fix-header {
        max-width: 100%;
        width: 100%;
        left: 50%;
        transform: translate(-50%);
    }

    .popup_box {
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        max-width: 100%;
    }

    .quick_btn{
        right: 20px;
        left: auto;
        transform: translate(0);
        bottom: 100px;
    }

    .add_tab_cons>.total_box02 .bg_video_wrap {
        width: 100%;
    }
}

@media screen and (max-width: 360px) {
    #fix-header div{font-size: 14px; width: 50%; word-break: keep-all;}
}


/* -----------------------------------------------------------
   [Design Edit] 배경 최적화 및 레이아웃 최종
   수정일: 2025-12-19 / 담당: ahm / gemini(hm)
   ----------------------------------------------------------- */

/* 1. 부모 박스 및 영상 고정 */
div.total_box.total_box02 {
    position: relative !important;
    background-color: #1b3055 !important;
    overflow: hidden !important;
}

div.total_box02 .bg_video_wrap {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 600px;
    z-index: 1 !important;
}

/* 2. [그라데이션 복구] z-index를 높여서 박스에 안 덮이게 설정 */
div.total_box02 .bg_video_wrap::after {
    content: "" !important;
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom,
            rgba(27, 48, 85, 0) 0%,
            rgba(27, 48, 85, 0) 50%,
            #1b3055 100%) !important;
    z-index: 5 !important;
}

/* 3. 로티 위치 및 하단 박스 상향 조정 */
div.total_box02 .char_wrap {
    padding-top: 30px !important;
    position: relative;
    z-index: 10;
}

div.total_box02 .note_bottom {
    position: relative !important;
    margin-top: -120px !important;
    /* 아래 박스를 로티 쪽으로 강제 상향 */
    z-index: 15 !important;
}

#cal-player {
    margin: 0 auto;
    display: block;
}
