.jlpt-level-test {
    margin: 48px 0;
}

/* ---- 인트로 ---- */
.jlpt-lt--intro {
    text-align: center;
    padding: 48px 0 40px;
    border: 1px solid rgb(15, 18, 25);
}

.jlpt-lt--intro-meta {
    font-size: 12px;
    color: #9ca3af;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 16px;
}

.jlpt-lt--intro-desc {
    font-size: 15px;
    color: #6b7280;
    line-height: 1.65;
    margin: 0 auto 32px;
    max-width: 480px;
    padding: 0 24px;
}

.jlpt-lt--start {
    font-size: 15px;
    padding: 12px 32px;
}

/* ---- 퀴즈 ---- */
.jlpt-lt--quiz {
    padding-top: 8px;
}

.jlpt-lt--level-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #fff;
    background: rgb(15, 18, 25);
    padding: 4px 10px;
    margin-bottom: 0;
}

/* ---- 결과 ---- */
.jlpt-lt--result {
    padding: 40px 0;
    border: 1px solid rgb(15, 18, 25);
}

.jlpt-lt--result-label {
    font-size: 11px;
    color: #9ca3af;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 12px;
}

.jlpt-lt--result-level {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    color: rgb(15, 18, 25);
    margin: 0 0 12px;
    line-height: 1.2;
}

.jlpt-lt--result-desc {
    font-size: 15px;
    color: #6b7280;
    text-align: center;
    line-height: 1.65;
    margin: 0 auto 32px;
    max-width: 480px;
    padding: 0 24px;
}

/* 점수표 */
.jlpt-lt--scores {
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
    margin: 0 0 32px;
}

.jlpt-lt--score-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 24px;
    border-bottom: 1px solid #f3f4f6;
}

.jlpt-lt--score-row:last-child {
    border-bottom: none;
}

.jlpt-lt--score-row.is-result {
    background: rgb(15, 18, 25);
}

.jlpt-lt--score-row.is-result .jlpt-lt--score-level,
.jlpt-lt--score-row.is-result .jlpt-lt--score-val {
    color: #fff;
}

.jlpt-lt--score-level {
    font-size: 13px;
    font-weight: 700;
    color: rgb(15, 18, 25);
    width: 28px;
    flex-shrink: 0;
}

.jlpt-lt--score-bar {
    display: flex;
    gap: 6px;
    flex: 1;
}

.jlpt-lt--score-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e5e7eb;
    flex-shrink: 0;
}

.jlpt-lt--score-dot.filled {
    background: rgb(15, 18, 25);
}

.jlpt-lt--score-row.is-result .jlpt-lt--score-dot {
    background: rgba(255, 255, 255, 0.3);
}

.jlpt-lt--score-row.is-result .jlpt-lt--score-dot.filled {
    background: #fff;
}

.jlpt-lt--score-val {
    font-size: 13px;
    color: #6b7280;
    width: 36px;
    text-align: right;
    flex-shrink: 0;
}

/* 결과 액션 버튼 */
.jlpt-lt--result-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    padding: 0 24px;
    flex-wrap: wrap;
}
