/* Scoped result contrast: preserve the white card and the navy score dial. */
.result-card .result-stats strong{color:#102844}
.result-card .result-stats span{color:#445b73}
.result-card .result-stats div{background:#edf5fa;border-color:#b6cddd}
.result-card>p{color:#49627a}
.result-card .result-ring span{color:#c6d6e5}
/* Saturated outcomes, distinguished by marks as well as colour. */
.exercise-shell .matrix .good{background:#1fe29b;color:#06392a;border:2px solid #6ffbc5;font-weight:850}
.exercise-shell .matrix .bad{background:#ff587b;color:#280611;border:2px solid #ff9bb0;font-weight:850}
.exercise-shell .matrix .mixed{background:#ffc648;color:#3e2900;border:2px solid #ffe09a;font-weight:850}
.exercise-shell .legend .green{color:#1fe29b}.exercise-shell .legend .red{color:#ff7893}.exercise-shell .legend .amber{color:#ffc648}
.exercise-shell .matrix button:not(.good):not(.bad):not(.mixed){background:#27425e;color:#cedae8;border-color:#4b637d}
.exercise-shell .matrix .good::after{content:'✓'}
.exercise-shell .matrix .bad::after{content:'!'}
.exercise-shell .matrix .mixed::after{content:'±'}
.exercise-shell .matrix button{position:relative}
.exercise-shell .matrix button::after{position:absolute;right:2px;bottom:0;font-size:9px;line-height:1}
.saved-converted-library{border:2px solid #149fae!important;margin:0 0 22px;background:#f4fcfc!important}
.saved-converted-library .library-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
#hand-library-count{background:#102844;color:white;border-radius:20px;padding:7px 14px;font-weight:800}
#saved-converted-list{max-height:360px;overflow-y:auto;overscroll-behavior:contain;margin-bottom:12px}
.range-history-library{margin-top:24px}
.range-history-session{border:1px solid #b8cbda;border-radius:12px;margin:12px 0;overflow:hidden;background:white}
.range-history-session summary{padding:16px;cursor:pointer;color:#102844}
.range-history-session summary span{display:block;margin-top:5px;color:#4b6378;font-size:13px}
.range-outcome-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px;align-items:start}
.range-outcome-columns section{padding:14px;border:1px solid;border-radius:10px;color:#102844;min-width:0}
.range-outcome-columns .outcome-good{background:#d0f7e7;border-color:#0a9162}
.range-outcome-columns .outcome-bad{background:#ffdde5;border-color:#bc2453}
.range-outcome-columns h4{margin:0 0 12px;color:inherit}
.range-outcome-columns ul{margin:0;padding:0;list-style:none}
.range-outcome-columns li{border-bottom:1px solid #10284425;padding:10px 0;overflow-wrap:anywhere}
.range-outcome-columns li span{display:block;margin-top:4px;font-size:13px}
.hand-chip{display:inline-block;background:white;color:#102844;padding:5px 8px;border:1px solid #7894a8;border-radius:6px;margin:3px;font-weight:700}
.coach-consent{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#edf6fa;border-radius:10px;color:#173650;line-height:1.6;margin:14px 0}
.coach-consent input{width:20px!important;min-width:20px;height:20px;margin-top:4px}
.library-dialog{box-sizing:border-box;width:min(960px,calc(100vw - 24px));max-height:88vh;border:1px solid #829db4;border-radius:16px;padding:24px;color:#102844;background:#fff;font:inherit;overflow:auto}
.library-dialog::backdrop{background:#081d38b3}
.library-dialog form{position:sticky;top:-24px;background:white;z-index:2;padding:8px 0}
.library-dialog .review-close{display:block;margin-left:auto}
.library-actions,#coach-library-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
#coach-library-tabs .selected{background:#102844;color:#fff}
#coach-library-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:260px;overflow:auto;overscroll-behavior:contain}
.coach-library-entry{text-align:left;border:1px solid #a8c0d2;background:#eff7fa;color:#102844;padding:16px;border-radius:10px;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.coach-library-entry span{display:block;color:#4b6378;font-size:13px;margin-top:6px}
.library-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.library-fields div{background:#f0f6fa;padding:12px;border-radius:8px;overflow-wrap:anywhere}
.library-fields dt{font-size:12px;color:#4b6378;font-weight:700}
.library-fields dd{margin:6px 0 0;white-space:pre-wrap}
.coach-replay{background:#102844;border-radius:12px;color:white;padding:20px;margin-top:16px}
.coach-replay h4,.coach-replay p{color:white}
#coach-replay-step{border:1px solid #7694b3;border-radius:8px;padding:18px;line-height:1.6;min-height:90px;color:white}
#hands-more[hidden],#ranges-more[hidden],#ranges-page-note[hidden],#coach-library-more[hidden]{display:none!important}
@media(max-width:600px){.range-outcome-columns,#coach-library-items,.library-fields{grid-template-columns:1fr}.range-outcome-columns{padding:10px}.library-dialog{padding:16px}.library-actions button,#coach-library-tabs button{white-space:normal}.exercise-shell .matrix button::after{font-size:8px;right:1px;bottom:1px}}
