.repair-context-banner {
    display: flex;
    width: min(760px, calc(100% - 2rem));
    gap: 1.25rem;
    align-items: flex-start;
    justify-content: space-between;
    margin: 1.5rem auto 0;
    padding: 1rem 0;
    border-block: 1px solid rgba(47, 143, 131, 0.24);
    color: #30444d;
}

.repair-context-banner__content {
    max-width: 580px;
}

.repair-context-banner__eyebrow {
    color: #17685f;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.repair-context-banner__title {
    margin: 0.12rem 0 0;
    color: var(--ink);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
}

.repair-context-banner__body,
.repair-context-banner__recheck {
    margin: 0.55rem 0 0;
    font-size: 0.86rem;
    line-height: 1.48;
}

.repair-context-banner__rules {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.repair-context-banner__rules li {
    padding: 0.3rem 0.55rem;
    border: 1px solid rgba(12, 26, 35, 0.1);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    font-size: 0.76rem;
    font-weight: 700;
}

.repair-context-banner__recheck {
    color: #51616b;
}

.repair-context-banner__actions {
    display: grid;
    flex: 0 0 auto;
    gap: 0.6rem;
}

.repair-context-banner__actions a,
.repair-context-banner__actions button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.7rem;
    border: 1px solid rgba(12, 26, 35, 0.16);
    border-radius: 0.58rem;
    background: #fff;
    color: #17685f;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
}

.tool-capability-shell {
    width: min(920px, calc(100% - 2rem));
    margin: 1.5rem auto 0;
}

.tool-capability {
    --capability-accent: var(--sea);
    padding: 1.15rem 1.25rem;
    border: 1px solid rgba(47, 143, 131, 0.24);
    border-radius: 1rem;
    background: #f8fbfa;
}

.tool-capability--warning,
.tool-capability--notice {
    --capability-accent: #8a4f0b;
    border-color: rgba(184, 109, 20, 0.3);
    background: #fffaf0;
}

.tool-capability__header {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.tool-capability__mark {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--capability-accent) 13%, #fff);
    color: var(--capability-accent);
    font-size: 1.15rem;
}

.tool-capability__eyebrow {
    color: var(--capability-accent);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.tool-capability__title {
    margin: 0.15rem 0 0;
    color: var(--ink);
    font-size: clamp(1.05rem, 2vw, 1.3rem);
    line-height: 1.25;
}

.tool-capability__body {
    max-width: 920px;
    margin: 0.8rem 0 0;
    color: #40515c;
    line-height: 1.55;
}

.tool-capability__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.tool-capability__fact {
    display: inline-flex;
    min-height: 32px;
    gap: 0.45rem;
    align-items: center;
    padding: 0.2rem 0;
    color: #364752;
    font-size: 0.82rem;
}

.tool-capability__fact i {
    color: var(--sea);
}

.tool-capability__fact--warning i,
.tool-capability__fact--notice i {
    color: #a45d0d;
}

.tool-capability__details {
    margin-top: 0.85rem;
    border-top: 1px solid rgba(12, 26, 35, 0.1);
}

.tool-capability__summary {
    min-height: 44px;
    padding: 0.8rem 0.15rem 0.2rem;
    color: #1d4f59;
    font-weight: 700;
    cursor: pointer;
}

.tool-capability__details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    padding-top: 0.85rem;
}

.tool-capability__detail {
    padding: 0.9rem 0 0;
    border-top: 1px solid rgba(12, 26, 35, 0.1);
}

.tool-capability__detail--warning {
    color: #684a17;
}

.tool-capability__detail-title {
    margin: 0 0 0.35rem;
    color: var(--ink);
    font-size: 0.9rem;
}

.tool-capability__list {
    margin: 0;
    padding-left: 1.15rem;
    color: #475965;
    font-size: 0.83rem;
}

.tool-capability__list li + li {
    margin-top: 0.25rem;
}

.tool-capability__footer {
    margin-top: 0.85rem;
    color: #53636e;
    font-size: 0.84rem;
}

.tool-capability__footer a,
.upload-dropzone__preflight {
    color: #126b62;
    font-weight: 700;
    text-underline-offset: 0.16em;
}

.upload-dropzone__preflight {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    margin-top: 0.55rem;
    padding: 0.25rem 0.45rem;
    font-size: 0.82rem;
}

.tool-sample {
    display: flex;
    width: min(100%, 560px);
    gap: 0.65rem 0.8rem;
    align-items: center;
    justify-content: center;
    margin: 0.75rem auto 0;
    padding-top: 0.75rem;
    border-top: 1px dashed rgba(12, 26, 35, 0.18);
}

.tool-sample__button {
    min-height: 40px;
    flex: 0 0 auto;
    border-color: rgba(12, 26, 35, 0.15);
    border-radius: 999px;
    color: #1d4f59;
    font-weight: 700;
}

.tool-sample__note {
    max-width: 270px;
    color: #63717a;
    font-size: 0.78rem;
    line-height: 1.35;
    text-align: left;
}

.output-verification {
    --verification-accent: #26796f;
    width: min(100%, 680px);
    margin: 1.5rem auto;
    padding: 1.25rem 0;
    border-block: 1px solid color-mix(in srgb, var(--verification-accent) 34%, transparent);
    color: #243640;
    text-align: left;
}

.output-verification--warning {
    --verification-accent: #a65f0d;
}

.output-verification__eyebrow {
    color: var(--verification-accent);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.output-verification__title {
    margin: 0.18rem 0 0;
    color: var(--ink);
    font-size: 0.96rem;
    font-weight: 800;
}

.output-verification__summary {
    margin: 0.28rem 0 0;
    color: #42535d;
    font-size: 0.86rem;
    line-height: 1.45;
}

.output-verification__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 0 1.25rem;
    margin: 1rem 0 0;
    border-top: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__facts > div {
    min-width: 0;
    padding: 0.7rem 0;
    border-bottom: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__facts dt {
    color: #5b6b74;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.output-verification__facts dd {
    overflow-wrap: anywhere;
    margin: 0.15rem 0 0;
    color: #263943;
    font-size: 0.82rem;
    font-weight: 700;
}

.output-verification__section,
.output-verification__rules {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(12, 26, 35, 0.1);
}

.output-verification__section-title {
    margin: 0;
    color: #243640;
    font-size: 0.82rem;
    font-weight: 800;
}

.output-verification__comparisons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0 1.25rem;
    margin-top: 0.75rem;
    border-top: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__comparison {
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__comparison--pass {
    color: #245f59;
}

.output-verification__comparison--notice,
.output-verification__comparison--warning {
    color: #74501a;
}

.output-verification__comparison-label {
    color: #52636d;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.output-verification__comparison-values {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin-top: 0.2rem;
    color: #263943;
    font-size: 0.8rem;
    font-weight: 700;
}

.output-verification__comparison-values span {
    overflow-wrap: anywhere;
}

.output-verification__comparison-arrow {
    flex: 0 0 auto;
    color: var(--verification-accent);
}

.output-verification__comparison p,
.output-verification__metadata p,
.output-verification__rules-summary,
.output-verification__rule-source {
    margin: 0.3rem 0 0;
    color: #4c5d67;
    font-size: 0.77rem;
    line-height: 1.42;
}

.output-verification__rule-source {
    margin-top: 0.4rem;
}

.output-verification__rule-source a {
    color: #17685f;
    font-weight: 700;
}

.output-verification__metadata {
    margin-top: 1.1rem;
    padding: 1rem 0;
    border-block: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__metadata--changed {
    border-color: rgba(166, 95, 13, 0.24);
    color: #74501a;
}

.output-verification__rule-list {
    display: grid;
    gap: 0;
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

.output-verification__rule {
    display: grid;
    grid-template-columns: minmax(88px, auto) 1fr;
    gap: 0.6rem;
    align-items: start;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__rule:first-child {
    border-top: 1px solid rgba(12, 26, 35, 0.09);
}

.output-verification__rule-state {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(12, 26, 35, 0.08);
    color: #42535d;
    font-size: 0.68rem;
    font-weight: 800;
}

.output-verification__rule--pass .output-verification__rule-state {
    background: rgba(38, 121, 111, 0.13);
    color: #17665e;
}

.output-verification__rule--fail .output-verification__rule-state,
.output-verification__rule--warning .output-verification__rule-state {
    background: rgba(166, 95, 13, 0.13);
    color: #854b08;
}

.output-verification__rule strong,
.output-verification__rule > span:last-child > span {
    display: block;
}

.output-verification__rule strong {
    color: #263943;
    font-size: 0.78rem;
}

.output-verification__rule > span:last-child > span {
    margin-top: 0.12rem;
    color: #52636d;
    font-size: 0.74rem;
    line-height: 1.38;
}

.output-verification__disclaimer {
    margin: 1.1rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(12, 26, 35, 0.1);
    color: #596a74;
    font-size: 0.73rem;
    line-height: 1.4;
}

.simple-converter-package {
    display: flex;
    width: min(100%, 560px);
    gap: 0.75rem;
    align-items: flex-start;
    margin: 0 auto;
    padding: 0.9rem;
    border: 1px solid rgba(38, 121, 111, 0.24);
    border-radius: 0.75rem;
    background: rgba(235, 248, 244, 0.82);
    color: #30444d;
    text-align: left;
}

.simple-converter-package > i {
    color: #26796f;
    font-size: 1.35rem;
}

.simple-converter-package strong,
.simple-converter-package span {
    display: block;
}

.simple-converter-package strong {
    color: var(--ink);
    font-size: 0.9rem;
}

.simple-converter-package span {
    margin-top: 0.2rem;
    font-size: 0.8rem;
    line-height: 1.45;
}

@media (max-width: 575px) {
    .repair-context-banner {
        display: grid;
        width: min(100% - 1rem, 760px);
        margin-top: 1rem;
        padding: 0.9rem 0;
    }

    .repair-context-banner__actions {
        width: 100%;
    }

    .tool-capability-shell {
        width: min(100% - 1rem, 920px);
        margin-top: 1rem;
    }

    .tool-capability {
        padding: 1rem;
    }

    .tool-capability__facts {
        grid-template-columns: 1fr;
        gap: 0.65rem;
    }

    .tool-capability__fact {
        min-height: 36px;
    }

    .tool-capability__fact + .tool-capability__fact {
        padding-top: 0.65rem;
        border-top: 1px solid rgba(12, 26, 35, 0.09);
    }

    .tool-sample {
        flex-direction: column;
    }

    .tool-sample__note {
        max-width: 320px;
        text-align: center;
    }

    .output-verification {
        margin-inline: 0;
        padding: 1rem 0;
    }

    .output-verification__facts {
        grid-template-columns: 1fr 1fr;
    }

    .output-verification__comparisons {
        grid-template-columns: 1fr;
    }

    .output-verification__rule {
        grid-template-columns: 1fr;
    }

    .output-verification__rule-state {
        width: fit-content;
    }

    .simple-converter-package {
        padding: 0.75rem;
    }
}

@media (max-width: 420px) {
    .output-verification__facts {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tool-capability *,
    .tool-sample *,
    .repair-context-banner * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media (forced-colors: active) {
    .tool-capability,
    .tool-capability__fact,
    .tool-capability__detail,
    .tool-sample {
        border: 1px solid CanvasText;
    }

    .output-verification,
    .output-verification__facts > div,
    .output-verification__comparison,
    .output-verification__metadata,
    .output-verification__rule,
    .simple-converter-package,
    .repair-context-banner,
    .repair-context-banner__rules li,
    .repair-context-banner__actions a,
    .repair-context-banner__actions button {
        border: 1px solid CanvasText;
    }
}
