.checker-page {
    padding: 24px 0 62px;
    background: #f7fafb;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 0.82rem;
}

.breadcrumb a {
    color: var(--brand);
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.checker-intro {
    margin-bottom: 17px;
}

.checker-intro h1 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.9rem);
    line-height: 1.03;
    letter-spacing: -0.035em;
}

.checker-subtitle {
    margin: 7px 0 0;
    color: var(--brand-dark);
    font-size: 1.12rem;
    line-height: 1.45;
}

.checker-description {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.96rem;
    max-width: 760px;
}

.checker-notice {
    margin-top: 13px;
    padding: 12px 15px;
    border-left: 4px solid var(--accent);
    border-radius: 6px;
    background: var(--soft-blue);
    color: var(--muted);
    font-size: 0.9rem;
}

.checker-card {
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 15px;
    box-shadow: var(--shadow);
    padding: 24px 28px 28px;
}

.checker-progress {
    margin-bottom: 18px;
}

.checker-progress-top {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.progress-track {
    height: 6px;
    background: #edf1f3;
    border-radius: 999px;
    margin-top: 8px;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    width: 14%;
    background: var(--brand);
    border-radius: 999px;
    transition: width 0.2s ease;
}

#questionPanel h2,
#resultPanel h2 {
    font-size: clamp(1.45rem, 2.5vw, 1.95rem);
    line-height: 1.14;
    margin: 0 0 6px;
}

.question-help,
.result-summary {
    color: var(--muted);
    font-size: 0.94rem;
    margin: 0 0 15px;
}

.answer-options {
    display: grid;
    gap: 8px;
}

.answer-option {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    text-align: left;
    border: 1px solid var(--line);
    background: var(--white);
    border-radius: 9px;
    padding: 12px 14px;
    font: inherit;
    color: var(--ink);
    cursor: pointer;
}

.answer-option:hover,
.answer-option:focus {
    border-color: #9eb7c4;
    background: var(--soft-blue);
}

.answer-option strong {
    display: block;
    font-size: 0.92rem;
}

.answer-arrow {
    font-size: 1.08rem;
    color: var(--accent);
}

.checker-nav {
    margin-top: 16px;
}

.link-button {
    border: 0;
    background: none;
    color: var(--accent);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    padding: 0;
}

.checker-privacy {
    margin: 10px 2px 0;
    color: var(--muted);
    font-size: 0.77rem;
}

.result-status {
    display: inline-block;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 10px;
}

.result-status.suitable {
    background: #e9f4ed;
    color: #24623a;
}

.result-status.not_suitable {
    background: #fbeaea;
    color: #8a2d2d;
}

.result-status.outside_scope,
.result-status.check {
    background: #fff4d8;
    color: #72530c;
}

.result-next,
.result-list,
.inline-caution,
.result-disclaimer {
    border-radius: 10px;
    padding: 14px 16px;
    margin: 14px 0;
}

.result-next,
.result-list {
    background: var(--soft);
}

.result-next p {
    margin: 4px 0 0;
    color: var(--muted);
}

.result-list h3 {
    margin: 0 0 8px;
    font-size: 0.98rem;
}

.result-list ul {
    margin: 0;
    padding-left: 19px;
}

.result-list li {
    margin: 5px 0;
}

.inline-caution {
    background: #fff4d8;
    border: 1px solid #ead39a;
}

.inline-caution p {
    margin: 4px 0 0;
}

.result-disclaimer {
    background: #f7f8f9;
    color: var(--muted);
    font-size: 0.82rem;
    border: 1px solid var(--line);
}

.idv-box {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 11px;
    padding: 15px;
    margin: 16px 0;
}

.idv-box p {
    color: var(--muted);
    margin: 3px 0 0;
    font-size: 0.86rem;
}

@media (max-width: 680px) {
    .checker-page {
        padding-top: 18px;
    }

    .checker-card {
        padding: 18px 15px;
    }

    .checker-intro h1 {
        font-size: 2rem;
    }

    .checker-subtitle {
        font-size: 1.02rem;
    }

    .idv-box {
        align-items: flex-start;
        flex-direction: column;
    }
}
