
/* Contract diff: all selectors scoped to this shortcode. */
.mscd-root{--mscd-navy:#0a2f60;--mscd-blue:#1e90ff;--mscd-line:#cbd5e1;--mscd-ink:#223349;--mscd-muted:#63748b;max-width:980px;line-height:1.75;color:var(--mscd-ink)}
.mscd-root [hidden]{display:none!important}
.mscd-root button,.mscd-root input{font-family:inherit}
.mscd-root .mscd-heading{padding:26px 30px;background:#fff;border:1px solid #bcc8d6;border-radius:10px 10px 0 0}
.mscd-heading h2{font-size:25px!important;font-weight:800!important;color:#001f66!important;border:0!important;background:none!important;padding:0!important;margin:0 0 10px!important}
.mscd-heading p{margin:0!important;color:#455872;font-size:15px;line-height:1.85}
.mscd-trust{margin-top:16px;padding:10px 14px;background:#eaf6f0;border:1px solid #b6ddc7;border-radius:8px;color:#155b3c;font-size:13px;font-weight:600}
.mscd-trust span{font-size:10px;margin-right:4px}
.mscd-workspace{background:#fff;border:1px solid #bcc8d6;border-top:0;padding:26px 30px 30px;border-radius:0 0 10px 10px}
.mscd-step-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.mscd-step-title span{padding:5px 10px;border-radius:30px;background:#0a2f60;color:#fff;font-size:12px;font-weight:700}
.mscd-step-title strong{font-size:17px;color:#0a2f60}
.mscd-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.mscd-file-card{min-width:0;border:1px solid #d1dbe7;border-radius:10px;overflow:hidden;background:#fcfdff;transition:border-color .16s,box-shadow .16s}
.mscd-file-card:focus-within,.mscd-file-card.mscd-dragging{border-color:#1e90ff;box-shadow:0 0 0 3px #dbeeff}
.mscd-card-top{padding:15px 17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#0a2f60;border-bottom:1px solid #07264c;color:#fff}
.mscd-root .mscd-card-top strong{font-size:15px;color:#fff;line-height:1.55}
.mscd-root .mscd-card-top small{display:block;margin-left:auto;font-size:11px;color:#dbeafe;line-height:1.5}
.mscd-root .mscd-index{display:inline-flex;justify-content:center;align-items:center;min-width:27px;height:27px;border-radius:5px;background:#fff;color:#0a2f60;font-size:12px;font-weight:700}
.mscd-drop-label{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:184px;margin:12px;border:2px dashed #b9cee3;border-radius:9px;background:#fff;text-align:center;cursor:pointer;padding:15px;gap:6px}
.mscd-drop-label:hover{background:#f7fbff;border-color:#78baff}
.mscd-upload-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eaf4ff;color:#116ab2;font-size:27px;font-weight:500;line-height:1}
.mscd-drop-label strong{font-size:14px;color:#163d69}
.mscd-drop-label>span:not(.mscd-upload-icon):not(.mscd-choose){font-size:12px;color:#667085}
.mscd-choose{padding:7px 17px;margin-top:6px;border-radius:6px;background:#1e90ff;color:white;font-size:13px;font-weight:700}
.mscd-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden}
.mscd-file-selected{padding:0 14px 15px;color:#64748b;font-size:12px;overflow-wrap:anywhere}
.mscd-file-selected.mscd-ready{color:#155b3c;font-weight:600}
.mscd-size-note{margin:13px 0 0!important;font-size:12px;color:#59697d}
.mscd-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:22px}
.mscd-compare{min-width:280px!important;gap:13px}
.mscd-compare:disabled{opacity:.5;cursor:not-allowed;transform:none}
.mscd-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border-radius:7px;border:1px solid #bad0e7;background:#fff;color:#1662a8;font-size:13px;font-weight:700;cursor:pointer}
.mscd-secondary:hover{background:#f3f8ff}
.mscd-notice{padding:13px 16px;margin:18px 0 0;background:#f0f8ff;border:1px solid #bcdaf9;border-radius:7px;font-size:13px;white-space:pre-wrap}
.mscd-notice.mscd-error{background:#fff5f5;border-color:#f5b3b3;color:#a52121}
.mscd-results{margin-top:24px;border:1px solid #bcc8d6;border-radius:10px;background:#fff;overflow:hidden}
.mscd-result-header{padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#0a2f60}
.mscd-result-header h3{margin:0!important;padding:0!important;background:none!important;color:#fff!important;font-size:22px!important}
.mscd-result-header .msct-kicker{color:#b4d9ff}
.mscd-result-header .mscd-secondary{background:#fff}
.mscd-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:20px 24px}
.mscd-summary>div{border:1px solid #d8e3ef;border-radius:8px;background:#f8fbff;padding:14px;display:flex;flex-direction:column;align-items:center}
.mscd-summary strong{font-size:30px;line-height:1.3;color:#0a2f60;font-variant-numeric:tabular-nums}
.mscd-summary span{font-size:12px;color:#586c81}
.mscd-comparison-note{font-size:12px;color:#546375;margin:0 24px 15px!important;padding:11px 13px;background:#fff8e9;border-left:3px solid #d9a141}
.mscd-show-equal{display:block;margin:0 24px 16px;font-size:13px;font-weight:600;color:#28465e}
.mscd-show-equal input{margin-right:6px;accent-color:#1e90ff}
.mscd-result-list{margin:0 24px 24px;display:flex;flex-direction:column;gap:12px;min-width:0}
.mscd-change{border:1px solid #d7e0ec;border-radius:8px;overflow:hidden}
.mscd-change-top{padding:7px 13px;background:#f7faff;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e3eaf1}
.mscd-kind{font-size:12px;font-weight:800;color:#194877}
.mscd-change-number{font-size:11px;color:#64748b}
.mscd-change-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.mscd-change-side{min-width:0;padding:15px 16px;overflow-wrap:anywhere;font-size:14px;line-height:1.95;white-space:pre-wrap}
.mscd-change-side:first-child{border-right:1px solid #e3eaf1}
.mscd-change-side h4{margin:0 0 8px!important;padding:0!important;border:0!important;background:none!important;font-size:12px!important;color:#576a80!important;font-weight:700}
.mscd-change-side p{margin:0!important}
.mscd-added{background:#e7f7ed;border-radius:3px;color:#155d38}
.mscd-removed{background:#ffeaed;border-radius:3px;color:#9d2737;text-decoration:line-through}
.mscd-placeholder{color:#a0aec0;font-size:13px}
.mscd-unchanged{opacity:.78}
.mscd-nochange{text-align:center;border:1px solid #c5dfca;padding:22px;border-radius:8px;background:#f3fbf5;color:#215c3d;font-size:14px}
@media(max-width:760px){.mscd-root .mscd-heading,.mscd-workspace{padding:20px 17px}.mscd-upload-grid{grid-template-columns:1fr}.mscd-drop-label{min-height:140px}.mscd-compare{min-width:0!important}.mscd-result-header{padding:20px 16px}.mscd-result-list{margin:0 14px 18px}.mscd-comparison-note{margin:0 14px 14px!important}.mscd-show-equal{margin:0 14px 14px}.mscd-summary{gap:8px;padding:14px}.mscd-summary>div{padding:10px 4px}.mscd-summary strong{font-size:24px}.mscd-summary span{font-size:11px}.mscd-change-body{grid-template-columns:1fr}.mscd-change-side:first-child{border-right:0;border-bottom:1px solid #e3eaf1}.mscd-card-top small{margin-left:0}}
@media(max-width:460px){.mscd-heading h2{font-size:21px!important}.mscd-actions{flex-direction:column}.mscd-actions button{width:100%}.mscd-result-header{display:block}.mscd-result-header .mscd-secondary{width:100%;margin-top:14px}.mscd-step-title strong{font-size:15px}}

/* v1.0.2: THE THOR .content div / p generic styling isolation.
   The parent theme gives every article div a 2rem top margin and
   injects a clear:both ::after; both break the nested grid/flex UI.
   Nothing outside the contract diff shortcode is changed. */
.content .mscd-root div,
.content .mscd-root p {
    margin-top: 0;
}
.content .mscd-root div::after,
.content .mscd-root p::after {
    content: none;
    display: none;
    clear: none;
}
.content .mscd-root .mscd-heading,
.content .mscd-root .mscd-workspace {
    margin: 0;
}
.content .mscd-root .mscd-upload-grid {
    display: grid;
    align-items: stretch;
    gap: 16px;
}
.content .mscd-root .mscd-file-card {
    margin: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    align-self: stretch;
}
.content .mscd-root .mscd-card-top {
    min-height: 56px;
    margin: 0;
}
.content .mscd-root .mscd-file-selected {
    margin-top: auto;
}
.content .mscd-root .mscd-trust {
    margin-top: 16px;
}
.content .mscd-root .mscd-step-title--second {
    margin-top: 24px;
    margin-bottom: 12px;
    padding-top: 20px;
    border-top: 1px solid #e3eaf2;
}
.content .mscd-root .mscd-actions {
    margin-top: 0;
}
.content .mscd-root .mscd-notice {
    margin-top: 16px;
}
.content .mscd-root .mscd-results {
    margin-top: 24px;
}
.content .mscd-root .mscd-result-header,
.content .mscd-root .mscd-change,
.content .mscd-root .mscd-change-top,
.content .mscd-root .mscd-change-body,
.content .mscd-root .mscd-change-side,
.content .mscd-root .mscd-summary,
.content .mscd-root .mscd-summary > div {
    margin-top: 0;
}
.mscd-result-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 12px;
    min-height: 30px;
    margin-bottom: 9px;
    background: #e7f3ff;
    color: #0a2f60;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .025em;
    border-radius: 999px;
}
@media(max-width:760px) {
    .content .mscd-root .mscd-upload-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .content .mscd-root .mscd-card-top {
        min-height: 52px;
    }
    .content .mscd-root .mscd-step-title--second {
        margin-top: 20px;
        padding-top: 18px;
    }
}

/* The blog's existing [sc name="post-cta"] appears only after comparison. */
.mscd-root .mscd-results[hidden] + .mscd-post-cta {
    display: none !important;
}
.content .mscd-root .mscd-post-cta {
    margin: 24px 0 0;
}
@media(max-width:760px) {
    .content .mscd-root .mscd-post-cta {
        margin-top: 18px;
    }
}

/* PC content-wide contract diff: retain layout within THE THOR's parent column. */
@media (min-width: 761px) {
    .content .msct-tool.mscd-root {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .content .mscd-root .mscd-results,
    .content .mscd-root .mscd-post-cta {
        width: 100%;
        max-width: 100%;
    }
}