.cpmp-pilot {
    --cpmp-red: #980000;
    max-width: 46rem;
    margin: 2rem auto;
    padding: clamp(1rem, 4vw, 2.5rem);
    background: #fff;
    color: #252020;
    border: 1px solid #e7dada;
    border-radius: 1rem;
}
.cpmp-pilot [hidden] { display: none !important; }
.cpmp-pilot__header { border-bottom: 2px solid var(--cpmp-red); margin-bottom: 1.5rem; }
.cpmp-pilot__crest { width: auto; max-width: min(100%, 11rem); max-height: 7rem; object-fit: contain; filter: drop-shadow(0 3px 3px #3003); }
.cpmp-pilot__eyebrow { color: var(--cpmp-red); font-weight: 700; }
.cpmp-pilot fieldset { padding: 0; margin: 1.2rem 0; border: 0; min-width: 0; }
.cpmp-pilot legend { font-size: 1.3rem; font-weight: 700; }
.cpmp-pilot fieldset label { display: flex; align-items: baseline; gap: .7rem; padding: .8rem; border: 1px solid #dacaca; border-radius: .5rem; cursor: pointer; }
.cpmp-pilot input { accent-color: var(--cpmp-red); flex-shrink: 0; }
.cpmp-pilot fieldset label:focus-within,
.cpmp-pilot fieldset label:has(input:checked) { outline: 2px solid var(--cpmp-red); background: #fff6f6; }
.cpmp-pilot button { background: var(--cpmp-red); color: white; min-height: 44px; padding: .65rem 1rem; border: 0; border-radius: .4rem; }
.cpmp-pilot button:focus-visible,
.cpmp-pilot summary:focus-visible { outline: 2px solid #252020; outline-offset: 3px; }
.cpmp-pilot__progress { display: block; font-weight: 700; }
.cpmp-pilot progress { display: block; width: 100%; accent-color: var(--cpmp-red); }
.cpmp-pilot details { border-top: 1px solid #e7dada; padding: .7rem 0; }
.cpmp-pilot summary { cursor: pointer; font-weight: 700; }
.cpmp-pilot__levels > div { padding: .65rem .8rem; border: 1px solid transparent; }
.cpmp-pilot__levels dt { font-weight: 700; }
.cpmp-pilot__levels dd { margin: .2rem 0 0; }
.cpmp-pilot__levels .cpmp-pilot__level-current {
    border-color: var(--cpmp-red);
    border-radius: .5rem;
    background: #fff6f6;
}
