.cp-fairness { font: inherit; line-height: 1.55; max-width: 52rem; margin: 1rem auto; color: inherit; }
.cp-fairness h2 { margin-top: 0; }
.cp-fairness .cp-fairness-import { display: grid; gap: .8rem; }
.cp-fairness input[type=file] { display: block; max-width: 100%; padding: .6rem 0; }
.cp-fairness button { justify-self: start; font: inherit; padding: .65rem 1.2rem; border: 1px solid #205572; border-radius: .4rem; background: #205572; color: white; cursor: pointer; }
.cp-fairness button:disabled { opacity: .65; }
.cp-fairness :focus-visible { outline: 3px solid #b96508; outline-offset: 3px; }
.cp-fairness .cp-fairness-result { margin: 1.2rem 0; padding: 1rem; border: 2px solid #637c8b; border-radius: .4rem; }
.cp-fairness .cp-fairness-result h3 { margin: 0 0 .5rem; font-size: 1.65em; font-weight: 750; line-height: 1.25; }
.cp-fairness .cp-fairness-counts { font-weight: 650; }
.cp-fairness details { margin: 1rem 0; }
.cp-fairness summary { cursor: pointer; font-weight: 650; padding: .5rem 0; }
.cp-fairness [data-state=local] h3, .cp-fairness [data-state=transcript] h3 { color: #17723e; }
.cp-fairness [data-state=local] h3::before, .cp-fairness [data-state=transcript] h3::before { content: '\2713  '; }
.cp-fairness pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.cp-fairness [data-state=failed] { border-color: #a32626; }
.cp-fairness [data-state=local], .cp-fairness [data-state=transcript] { border-color: #226647; }
.cp-fairness [data-state=abandoned], .cp-fairness [data-state=incomplete], .cp-fairness [data-state=partial], .cp-fairness [data-state=development] { border-color: #9a6300; }
.cp-fairness .cp-fairness-version, .cp-fairness .cp-fairness-legal { font-size: .85em; }
.cp-fairness-offline { margin: 0; padding: 1.5rem; background: #f3f5f7; color: #172b3a; font: 17px/1.55 system-ui,sans-serif; }
.cp-fairness-offline .cp-fairness { padding: 1.5rem; background: white; border-radius: .7rem; }
.cp-fairness-offline .cp-fairness-downloads { max-width: 52rem; margin: 1rem auto; }
@media (prefers-color-scheme: dark) { .cp-fairness-offline { background: #151e25; color: #e2ebf0; } .cp-fairness-offline .cp-fairness { background: #23313b; } }
@media (prefers-color-scheme: dark) { .cp-fairness-offline [data-state=local] h3, .cp-fairness-offline [data-state=transcript] h3 { color: #72de9b; } }
@media (max-width: 600px) { .cp-fairness-offline { padding: .5rem; } .cp-fairness-offline .cp-fairness { padding: .75rem; } }
