body {
    margin: 0;
    padding: 0;
}
@font-face{
    font-family: 'Libre Franklin-Bold';
    src : url('../font/LibreFranklin-Bold-4.ttf') format('truetype');
}
@font-face{
    font-family: 'Libre Franklin-Medium';
    src : url('../font/LibreFranklin-Medium-13.ttf') format('truetype');
}
@font-face{
    font-family: 'Libre Franklin-Regular';
    src : url('../font/LibreFranklin-Regular-15.ttf') format('truetype');
}
@font-face{
    font-family: 'Libre Franklin-SemiBold';
    src : url('../font/LibreFranklin-SemiBold-16.ttf') format('truetype');
}
@font-face{
    font-family: 'Londrina Solid-Black';
    src : url('../font/londrina-solid-black.ttf') format('truetype');
}
@font-face{
    font-family: 'Londrina Solid-Regular';
    src : url('../font/LondrinaSolid-Regular.ttf') format('truetype');
}
@font-face{
    font-family: 'Londrina Solid-Light';
    src : url('../font/londrina-solid-light.ttf') format('truetype');
}
@font-face{
    font-family: 'Lilita One';
    src : url('../font/LilitaOne.woff2.ttf') format('truetype');
}
@font-face{
    font-family: 'NanumGothic-ExtraBold';
    src : url('../font/NanumGothic-ExtraBold.ttf') format('truetype');
}
.container{
    width: 100vw;
    max-width: 600px;
    min-height:100vh;
    margin: 0 auto;
    background: linear-gradient(180deg, #0A1612 0%, #1A2F28 50%, #0D1F18 100%);
    padding:1rem;
    box-sizing: border-box;
}
.title-main{
    padding: .5rem;
    background: url(../pic/28-beijing.png) center center / 100% 100% no-repeat;
    position: relative;
    overflow: hidden;
}
.title-main::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(10, 70, 45, 0.3) 100%);
    backdrop-filter: blur(8px) saturate(1.3);
    -webkit-backdrop-filter: blur(8px) saturate(1.3);
    z-index: 0;
}
.title-main > * {
    position: relative;
    z-index: 1;
}
.title-img{
    width:26%;
    margin: 0 auto;
}
.title-desc{
    font-family: Lilita One;
    font-weight: 400;
    font-size: 1.9rem;
    color: #FFE9B8;
    text-align: center;
    paint-order: stroke;
    -webkit-text-stroke: 5px #0A462D;
    text-shadow: 
        0 4px 12px rgba(0, 0, 0, 0.9),
        0 2px 6px rgba(212, 175, 55, 0.5),
        0 8px 24px rgba(0, 0, 0, 0.7),
        0 0 40px rgba(255, 215, 0, 0.4);
    margin-top: .5rem;
    line-height: 1.2;
}
.flex-box{
    padding-top: 1rem;
    display:flex;
    gap:10px;
}
.flex-box .div{
    font-family: Lilita One;
    font-weight: 400;
    color: #fff;
    font-size:1rem;
    flex:1;
    padding:5px;
    background: linear-gradient(135deg, #0A462D 0%, #145A38 100%);
    border-radius: 18px;
    border: 2px solid #D4AF37;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.2);
    text-align: center;
}
.flex-box .div span{
    color: #FFD700;
    padding-right:5px;
}

.flex-box .div img{
    width:80%;
}
.desc-main{
    display: flex;
    justify-content: center;
    align-items: center;
    padding:.8rem 0 1.5rem;
}
.out-circle{
    width:22px;
    height:22px;
    background: rgba(212, 175, 55, 0.3);
    border-radius:50%;
    display:flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.4);
}
.int-circle{
    width:8px;
    height:8px;
    background: #D4AF37;
    border-radius:50%;
    box-shadow: 0 0 6px rgba(212, 175, 55, 0.6);
}
.word{
    font-family: Libre Franklin-Bold;
    font-weight: bold;
    font-size: .9rem;
    color: #FFFFFF;
    margin-left: 5px;
}
.word span{
    color:#FFD700;
    font-weight: 800;
}
.question-img{
    background: url(../pic/28-7.png) center center / 100% 100% no-repeat;
    padding: 1rem;
    box-sizing: border-box;
}
.question{
    font-family: Libre Franklin-Bold;
    font-weight: bold;
    font-size: 1.3rem;
    color: #FFFFFF;
    text-align: left;
}
.mt-10{
    margin-top: 1rem;
}
.gap-4 {
    gap: .7rem;
}
.items-center {
    align-items: center;
}
.flex {
    display: flex;
}
.german-option-text{
    font-family: Libre Franklin-Bold;
    font-weight: bold;
    font-size: 1rem;
    color: #fff;
}
.text{
    font-family: Libre Franklin-Medium;
    font-weight: 500;
    font-size: .8rem;
    color: #fff;
}
.german-active,.text-active{
    color:#fff;
}
.answer{
    background: linear-gradient(135deg, #C19A5B 0%, #8B7355 100%);
    border-radius: 18px;
    border: 2px solid #D4AF37;
    padding:.3rem .5rem .5rem;
    position:relative;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
}
.answer:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
}
.answer:active {
    transform: translateY(-1px);
}
.answer-main{
    margin-top: 1rem;
}
.answer-title{
    font-family: Libre Franklin-ExtraBold;
    font-weight: 800;
    font-size: 1.3rem;
    color: #FFFFFF;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}
.subtitle-main{
    display:flex;
    justify-content: end;
    align-items: center;
}
.answer-subtitle{
    font-family: Libre Franklin-Medium;
    font-weight: 500;
    font-size: .9rem;
    color: #FFFFFF;
    text-align: center;
    width:90%;
}
.answer-img{
    width:10%;
    position:absolute;
    right:10px;
    bottom:7px;
}
.german-error-text{
   text-align: center;
   color: #fff !important;
   font-size:.9rem;
   padding:0.5rem 0 0;
   display:none;
}
.active{
    background: linear-gradient(135deg, #145A38 0%, #1B7A4A 100%) !important;
    border-color: #FFD700 !important;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.4) !important;
}
.answer-active{
    background: linear-gradient(135deg, #D4AF37 0%, #FFD700 50%, #F4C430 100%);
    border-color: #FFD700;
    box-shadow: 0 4px 20px rgba(255, 215, 0, 0.5);
    transform: translateY(-2px);
}
.german-option-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    background: linear-gradient(135deg, rgba(42, 67, 56, 0.8) 0%, rgba(30, 50, 40, 0.9) 100%);
    border-radius: 18px;
    border: 2px solid rgba(212, 175, 55, 0.4);
    padding: .1rem .5rem .5rem;
    margin-bottom: .5rem;
}
.german-option-card:hover {
    border-color: rgba(212, 175, 55, 0.6);
    box-shadow: 0 4px 12px rgba(212, 175, 55, 0.2);
    transform: translateY(-2px);
}
.modern-radio-wrapper {
    position: relative;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.modern-radio {
    width: 20px;
    height: 20px;
    border: 2px solid #D4AF37;
    border-radius: 50%;
    position: relative;
    transition: all 0.3s ease;
    background: rgba(255, 255, 255, 0.1);
}
.box.german-option-card.active .modern-radio, .box.german-option-card.modern-option-card.active .modern-radio {
    border-color: #FFD700 !important;
    background: #ffffff !important;
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

.box.german-option-card.active .radio-dot, .box.german-option-card.modern-option-card.active .radio-dot {
    background: linear-gradient(135deg, #D4AF37 0%, #FFD700 100%) !important;
    transform: translate(-50%, -50%) scale(1) !important;
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.6);
}
.radio-dot {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background: #475569;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.radio-ripple {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(71, 85, 105, 0.1);
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
    transition: all 0.3s ease;
}
.question-bottom-main{
    margin-top: 1rem;
}
.bottom-flex{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
}
.bottom-flex img{
    width:6%;
}
.bottom-flex div{
    font-family: Libre Franklin-Medium;
    font-weight: 500;
    font-size: .9rem;
    color: rgba(255,255,255,0.8);
}
.word-main{
    padding: 1.5rem 0;
}
.word-title{
    font-family: Libre Franklin-SemiBold;
    font-weight: 600;
    font-size: 1.3rem;
    color: #fff;
    text-align: left;  
}
.word-title span{
    color: #FFD700;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}
.subtitle{
    font-family:Libre Franklin-Regular;
    font-weight: 400;
    font-size: .95rem;
    color: #FFFFFF;
    margin-top: .5rem;
}
.word-box{
    padding: .5rem;
    background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(20, 90, 56, 0.25) 100%);
    border: 1px solid rgba(212, 175, 55, 0.3);
    border-radius: 16px;
    margin-top: .8rem;
    box-sizing: border-box;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
.word-box-title{
    font-family: Libre Franklin-SemiBold;
    font-weight: 600;
    font-size: .9rem;
    color: #FFE9B8;
    margin-bottom:.4rem;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.word-box-desc{
    font-family:Libre Franklin-Regular;
    font-weight: 400;
    font-size: .8rem;
    color: #FFFFFF;
}
.word-box-desc span{
    color:#FFD700;
    font-weight: 600;
}
.end-img{
    width: 20%;
    margin: 0 auto;
}
.end-title{
    font-family:Libre Franklin-SemiBold;
    font-weight: 600;
    font-size: .9rem;
    color: rgba(255,255,255,0.7);
    text-align: center;
}
.end-subtitle{
    font-family:Libre Franklin-Regular;
    font-weight: 400;
    font-size: .7rem;
    color: rgba(255,255,255,0.7);
    text-align: center;
}
@media screen and (max-width: 600px) {
    
}
@media screen and (max-width: 400px) {
    .flex-box .div{
        font-size:.9rem;
    }
    .word-title{
        font-size:1.2rem;
    }
    .subtitle{
        font-size: .85rem;
    }
    .end-title{
        font-size:.8rem;
    }
    .end-subtitle{
        font-size:.6rem;
    }
}
@media screen and (max-width: 389px) {
   .title-desc{
        font-size:1.7rem;
   }
   .word{
        font-size:.85rem;
   }
}
@media screen and (min-width: 389px) {
    .mt-10,.answer-main{
        margin-top: 1.5rem;
    }
}
@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 10px rgba(212, 175, 55, 0.3);
    }
    50% {
        box-shadow: 0 0 20px rgba(212, 175, 55, 0.6);
    }
}

.int-circle {
    animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes ripple {
    0% {
        transform: scale(0);
        opacity: 1;
    }
    100% {
        transform: scale(2);
        opacity: 0;
    }
}
.answer-active .answer-title {
    color: #0A462D;
    font-weight: 900;
}
.answer-active::before {
    content: '';
    position: absolute;
    top: -2px;
    right: -2px;
    width: 12px;
    height: 12px;
    background: linear-gradient(135deg, #DC143C 0%, #FF4444 100%);
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(220, 20, 60, 0.5);
    animation: pulse-red 1.5s ease-in-out infinite;
}

@keyframes pulse-red {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.8;
    }
}
.flex-box .div:first-child,
.flex-box .div:nth-child(2) {
    position: relative;
    overflow: hidden;
}

.flex-box .div:first-child::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 215, 0, 0.2), transparent);
    animation: shine 3s infinite;
}

@keyframes shine {
    0% {
        left: -100%;
    }
    50%, 100% {
        left: 100%;
    }
}