/* v18.70.3 — one shared opportunity presentation, Board + Coach + public guide */
.op-modal{width:min(830px,96vw)!important;max-width:830px!important;max-height:92vh!important;overflow:auto!important}
.op-modal .op-hero{background:#073e30;color:white;padding:20px;border-radius:14px;margin:6px 0 14px}
.op-modal .op-hero h2{color:#e9ca80;font-size:clamp(23px,4vw,30px);margin:6px 0}
.op-modal .op-hero p{color:#e0e8e0;line-height:1.5;margin:6px 0}
.op-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.op-inputs label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:5px;color:inherit}
.op-inputs input,.op-inputs select,.op-inputs textarea{width:100%;padding:10px;border:1px solid #abc4b2;border-radius:9px;background:white;color:#172c22;font:inherit;font-weight:400;font-size:15px;box-sizing:border-box}
.op-connected{background:#edf3ed;border-left:3px solid #ba9d5b;padding:12px;margin:12px 0;color:#163d2a;border-radius:6px}
.op-connected p{font-size:13px;line-height:1.5;margin:5px 0}
.op-filter{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.op-filter button{cursor:pointer;border:1px solid #9eb6a6;border-radius:30px;background:transparent;padding:8px 10px;font:inherit;font-size:12px;color:inherit}
.op-filter button.active{background:#073e30;color:#e9ca80;border-color:#073e30}
.op-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.op-record{padding:16px;border:1px solid #cbd9cb;border-radius:13px;background:#f9fbf7;color:#17392b;min-width:0;margin-bottom:10px}
.op-record small{font-size:10px;letter-spacing:.06em;color:#42674d;font-weight:800}
.op-record h3{font-size:17px;color:#0f3d2d;margin:7px 0}
.op-record p{font-size:13px;line-height:1.5}
.op-benefits{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}
.op-benefits span{padding:5px 8px;border-radius:20px;background:#e2eee6;color:#264b37;font-size:11px;font-weight:650}
.op-record .op-truth{color:#51695b;font-size:11px;border-top:1px solid #d5e1d6;padding-top:9px;margin-top:10px}
.op-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.op-actions a,.op-actions button{font-size:12px;min-height:38px;text-decoration:none;padding:9px 12px;cursor:pointer;border-radius:8px}
.op-approach{border-left:3px solid #b99952;background:#edf5ed;padding:9px 11px;margin:9px 0;display:flex;flex-direction:column;gap:3px;font-size:12px}
.op-approach b{color:#123f2c;font-size:14px}
.op-approach span{color:#32573f}
.op-approach p{margin:0}
.op-semester{grid-column:1/-1}
.op-footnote{font-size:11px;line-height:1.5;color:#5b6e60;margin:16px 0}
.op-coach-records{display:grid;gap:9px}
.op-coach-records .op-record{margin:0}
@media(max-width:650px){.op-inputs,.op-results{grid-template-columns:1fr}.op-modal{max-height:96vh!important;width:100%!important}.op-hero{padding:14px!important}.op-filter button{font-size:11px}}
/* Public magic keeps the same two-tone palette and gives human help its usual priority. */
.checkmate-magic .magic-opportunities{background:#0a4030;border:1px solid #9fbc9e;border-radius:16px;padding:14px;color:white}
.checkmate-magic .magic-opportunities .op-hero h2{color:#e9ca80}
.checkmate-magic .magic-opportunities label{color:#fff}
.checkmate-magic .magic-opportunities .op-record{color:#123d2f}
.checkmate-magic .magic-opportunities .op-filter button{color:white;border-color:#759b7b}
.checkmate-magic .magic-opportunities .op-filter button.active{background:#e9ca80;color:#123d2f}
.checkmate-magic .magic-opportunities .op-approach{color:#123d2f}
.checkmate-magic .magic-opportunities .op-footnote{color:#d1e0d3}
/* Explicit light-card ink: public Checkmate Magic sets descendant paragraphs to white. */
.checkmate-magic .magic-opportunities .op-record p,
.checkmate-magic .magic-opportunities .op-record .op-approach p,
.checkmate-magic .magic-opportunities .op-record .op-approach span{color:#264b36!important}
.checkmate-magic .magic-opportunities .op-record .op-truth{color:#55705f!important}
.checkmate-magic .magic-opportunities .op-record .op-approach{color:#17392b!important}
.op-play-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.op-play-list button{font:inherit;padding:10px 13px;border:1px solid #83aa90;color:#18432f;background:#f0f7f1;border-radius:8px;cursor:pointer}
.op-memory-status{font-size:13px;color:#18563a;margin:9px 0;padding:7px 10px;background:#e1f1e5;border-radius:8px}

/* v18.70.3b · meaningful discoveries appear after the student asks, with room for a full goal. */
.op-input-help{display:block;font-size:11px;line-height:1.45;font-weight:400;color:#d4e6d9}
.op-start{grid-column:1/-1;background:#f2f7ed;border-left:4px solid #cfaf68;color:#173d2c;border-radius:11px;padding:13px 16px}
.op-start h3{font-size:17px!important;margin:0 0 6px!important;color:#143d2e!important}
.checkmate-magic .magic-opportunities .op-start p{color:#294f3a!important;font-size:13px!important;margin:0!important}
.checkmate-magic .magic-opportunities .op-next-step{background:#e5efe3;border-left:3px solid #c29e55;padding:10px;border-radius:6px;font-size:13px;color:#173d2c!important}
.checkmate-magic .magic-opportunities #magicOpGoal{min-height:116px;resize:vertical}
.checkmate-magic .magic-opportunities #magicOpportunityResults{scroll-margin-top:110px}
@media(max-width:650px){.checkmate-magic .magic-opportunities #magicOpGoal{min-height:120px}}

/* v18.70.4 — BIND THE SPELLS: one column with expandable rehearsal inside active journey. */
.checkmate-magic .cm-binder{border:1px solid #a3c39f;border-radius:14px;background:#123e2e;color:#fff;padding:16px;margin:18px 0;grid-column:1/-1}
.checkmate-magic .cm-binder .cm-binder-heading{margin-bottom:8px}
.checkmate-magic .cm-binder h3{font-size:22px;color:#e9ca80;margin:6px 0}
.checkmate-magic .cm-binder h4{color:#113a2b;font-size:17px;margin:12px 0 8px}
.checkmate-magic .cm-binder h5{color:#123c2d;margin:6px 0;font-size:15px}
.checkmate-magic .cm-binder label{color:#fff}
.checkmate-magic .cm-binder label small{font-size:11px;color:#d9e8dc;font-weight:400}
.checkmate-magic .cm-binder-result{background:#f8faf5;color:#153e2d;padding:16px;border-radius:12px;margin-top:15px}
.checkmate-magic .cm-binder-result p,.checkmate-magic .cm-binder-result li{color:#254934!important;font-size:13px;line-height:1.55}
.checkmate-magic .cm-binder-option{border-left:3px solid #bd9d5c;background:#e9f1e9;padding:10px;margin:10px 0;border-radius:4px}
.checkmate-magic .cm-binder-option p{margin:5px 0}
.checkmate-magic .cm-binder-warning{border-left:4px solid #ac7842;background:#f8ece4;padding:10px;color:#573b28!important}
.checkmate-magic .cm-binder-bridge{background:#eaf3e8;padding:10px;margin:12px 0;border-radius:8px}
.checkmate-magic .cm-binder-unlock{padding-bottom:8px;border-bottom:1px solid #dce6d8}
.checkmate-magic .cm-binder-milestones{padding-left:20px}
.checkmate-magic .cm-binder-milestones li{margin:8px 0}
.checkmate-magic .cm-binder-result .magic-secondary-inline{color:#123f2f;border-color:#ad9260}
.checkmate-magic .cm-binder-result .magic-source-note{color:#546d5a!important}
@media(max-width:650px){.checkmate-magic .cm-binder{padding:12px}.checkmate-magic .cm-binder-result{padding:12px}}

.cm-binder-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:9px 0 16px}
.cm-binder-day{border:1px solid #c7d9c8;border-radius:8px;padding:7px 5px;min-height:70px;background:#edf4ea;overflow-wrap:anywhere}
.cm-binder-day>strong{display:block;color:#153e2c;font-size:12px;margin-bottom:5px}
.cm-binder-day span{display:block;font-size:10px;border-radius:5px;padding:4px;margin:4px 0;background:#d2e5d6;color:#1a4430;line-height:1.45}
.cm-binder-day small{font-size:10px;color:#516b59}
@media(max-width:900px){.cm-binder-week{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.cm-binder-week{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v18.70.5 — evidence-first Magic Moment; no extra navigation layer */
.cm-radar{border:1px solid #c9a45d;border-left:5px solid #e9ca80;background:#f7f5eb;color:#123e2f;border-radius:16px;padding:20px;margin:18px 0;line-height:1.55}
.cm-radar h3{color:#133e30;margin:8px 0 12px;font-size:clamp(20px,2.4vw,28px)}
.cm-radar p{color:#244e40}
.cm-radar .magic-step{color:#6e4e18}
.cm-radar-domino{margin:12px 0;background:#e8eee5;border-radius:10px;padding:12px}
.cm-radar-domino>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.cm-radar-domino span{background:#d3e2d8;border-radius:50px;padding:6px 10px;font-size:12px;color:#143d2e}
.cm-radar-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}
.cm-radar-actions button,.cm-radar-actions a{border:1px solid #aec3ae;color:#12412f;background:#fff;border-radius:9px;padding:10px 12px;font-weight:750;cursor:pointer;text-decoration:none;font-size:13px}
.cm-radar-actions button:hover,.cm-radar-actions button:focus-visible{outline:2px solid #bd9451;outline-offset:1px}
.cm-radar-empty{border-color:#a9c1b1;border-left-color:#9db9aa}
@media(max-width:620px){.cm-radar{padding:14px;margin:14px 0}.cm-radar-actions>*{width:100%;text-align:center}}

.cm-radar-choice{background:#dce8db;border-left:3px solid #967a41;border-radius:7px;padding:9px 12px;font-weight:650;color:#173b2f;margin:9px 0}


/* v18.70.5a — MAGIC FINISH: contrast, hierarchy, feedback and dynamic states.
   No contrast depends on inherited dark-surface text in light cards. */
.checkmate-magic #magicOpportunityResults :is(.op-start,.cm-radar,.cm-primary-connection,.cm-missing,.cm-connected-path,.cm-hidden-advantage,.cm-changed,.cm-receipt,.cm-more-connections,.cm-reply,.cm-binder-result,.cm-radar-choice),
.checkmate-magic #magicOpportunityResults :is(.op-start,.cm-radar,.cm-primary-connection,.cm-missing,.cm-connected-path,.cm-hidden-advantage,.cm-changed,.cm-receipt,.cm-more-connections,.cm-reply,.cm-binder-result,.cm-radar-choice) :is(p,small,label,summary,li,span){color:#123d2f}
.checkmate-magic #magicOpportunityResults .cm-radar .magic-step,
.checkmate-magic #magicOpportunityResults .cm-radar .magic-source-note,
.checkmate-magic #magicOpportunityResults .cm-radar .op-truth,
.checkmate-magic #magicOpportunityResults .cm-radar-empty .magic-source-note,
.checkmate-magic #magicOpportunityResults .cm-radar-choice,
.checkmate-magic #magicOpportunityResults .cm-changed .magic-source-note{color:#294f3b!important}
.checkmate-magic #magicOpportunityResults .cm-radar-choice{background:#d9e9df!important}
.checkmate-magic #magicOpportunityResults .cm-binder-result .magic-source-note,
.checkmate-magic #magicOpportunityResults .cm-primary-connection .magic-source-note,
.checkmate-magic #magicOpportunityResults .cm-missing .magic-source-note{color:#385846!important}
/* No gold-on-white or white-on-white controls; fixed even when broad board styles win by specificity. */
.checkmate-magic .magic-inline-inquiry .magic-inquiry-buttons :is(button.magic-secondary-inline,a.magic-secondary-inline),
.checkmate-magic .cm-binder-result .cm-connection-actions button.magic-secondary-inline,
.checkmate-magic #magicOpportunityResults .cm-connection-actions button.magic-secondary-inline,
.checkmate-magic #magicOpportunityResults .cm-binder-milestones .magic-text-link,
.checkmate-magic #magicOpportunityResults .cm-binder-result .magic-text-link,
.checkmate-magic #magicOpportunityResults .cm-receipt button{
 background:#fff!important;color:#123d2f!important;border:2px solid #547764!important;border-radius:9px;text-decoration:none!important
}
.checkmate-magic .magic-inline-inquiry .magic-inquiry-buttons :is(button.magic-secondary-inline,a.magic-secondary-inline):hover,
.checkmate-magic #magicOpportunityResults .cm-connection-actions button.magic-secondary-inline:hover,
.checkmate-magic #magicOpportunityResults .cm-binder-result .magic-text-link:hover{background:#e4f0e5!important;color:#073e30!important}
/* On dark surfaces: an action is always clearly outlined, with legible ink. */
.checkmate-magic .magic-inline-inquiry .magic-inquiry-buttons :is(button.magic-secondary-inline,a.magic-secondary-inline){background:#f3f6ee!important;color:#073e30!important;border-color:#d7b56c!important}
.checkmate-magic :is(.magic-small-cta,.magic-gold-cta){background:#e9ca80!important;color:#073e30!important;border-color:#e9ca80!important}
.checkmate-magic :is(.magic-small-cta,.magic-gold-cta):disabled,
.checkmate-magic .magic-inline-inquiry button:disabled{background:#d9e1d9!important;color:#314e3e!important;cursor:not-allowed!important;opacity:1}
.checkmate-magic #magicOpportunityResults .cm-binder-milestones :is(a,small){color:#123d2f!important;opacity:1}
.checkmate-magic #magicOpportunityResults .cm-binder-milestones a{text-decoration:underline!important;text-underline-offset:3px;font-weight:700}
.checkmate-magic #magicOpportunityResults .cm-binder-milestones a:focus-visible{outline-color:#123d2f!important}
.checkmate-magic #magicOpportunityResults .cm-binder-result :is(button,a,summary,textarea,input,select):focus-visible,
.checkmate-magic #magicOpportunityResults .cm-radar :is(button,a,summary):focus-visible,
.checkmate-magic .magic-inline-inquiry textarea:focus-visible{
 outline:3px solid #14674b!important;outline-offset:3px!important
}
.checkmate-magic #magicOpportunityResults .cm-binder-result :is(.magic-secondary-inline,button),
.checkmate-magic #magicOpportunityResults .cm-connection-actions :is(button,a){min-height:44px}
/* The student sees one action first, not an equal-weight toolbar. */
.checkmate-magic #magicOpportunityResults .cm-radar-actions{display:block}
.checkmate-magic #magicOpportunityResults .cm-radar-actions>a.magic-school-link{display:flex;width:100%;min-height:52px;margin:12px 0 10px;background:#e9ca80!important;color:#073e30!important;border:2px solid #b18d43!important;border-radius:10px;font-size:15px}
.checkmate-magic #magicOpportunityResults .cm-radar-feedback{display:flex;flex-wrap:wrap;gap:7px}
.checkmate-magic #magicOpportunityResults .cm-radar-feedback button{font-size:12px;padding:8px 11px;border:1px solid #769981;background:#fff;color:#123d2f;min-height:41px;border-radius:9px;cursor:pointer}
.checkmate-magic #magicOpportunityResults .cm-radar-feedback button:hover{background:#e4ede4}
.checkmate-magic #magicOpportunityResults #cmRadarCopyStatus,
.checkmate-magic #magicOpportunityResults .cm-radar-choice{color:#123d2f!important;font-size:13px;line-height:1.5}
.checkmate-magic #magicOpportunityResults #cmRadarCopyStatus:empty{display:none}
/* Deep investigation stays accessible, but no longer monopolizes the page. */
.checkmate-magic #magicOpportunityResults .cm-explore-more{margin:14px 0 18px;border:1px solid #b6cdbb;border-radius:13px;background:#e8f1e7;color:#123d2f;overflow:visible}
.checkmate-magic #magicOpportunityResults .cm-explore-more>summary{cursor:pointer;padding:16px 18px;color:#123d2f!important;font-size:15px;font-weight:800;line-height:1.45}
.checkmate-magic #magicOpportunityResults .cm-explore-more[open]{padding:0 13px 15px}
.checkmate-magic #magicOpportunityResults .cm-explore-more[open]>summary{padding:16px 5px 13px;border-bottom:1px solid #c6d8c8}
.checkmate-magic #magicOpportunityResults .cm-explore-more:focus-within{border-color:#2d7454}
/* Public, authenticated student and coach modals share safe button defaults. */
.op-modal .op-record :is(button,a),.op-modal .op-play-list button,.op-modal .op-filter button{
 color:#123d2f;background:#f5faf5;border-color:#729783
}
.op-modal .op-record :is(button,a):focus-visible,.op-modal .op-play-list button:focus-visible,
.op-modal .op-filter button:focus-visible{outline:3px solid #b08b43;outline-offset:3px}
.op-modal .op-filter button.active{background:#073e30;color:#fff;border-color:#073e30}
.op-modal .op-truth,.op-modal .op-footnote{color:#345543}
@media(max-width:620px){
 .checkmate-magic #magicOpportunityResults .cm-radar-feedback{display:grid;grid-template-columns:1fr 1fr}
 .checkmate-magic #magicOpportunityResults .cm-radar-feedback button{min-height:44px;text-align:center}
 .checkmate-magic #magicOpportunityResults .cm-explore-more[open]{padding:0 9px 12px}
}
@media(prefers-reduced-motion:reduce){.checkmate-magic .cm-radar-actions *, .checkmate-magic .cm-explore-more *{transition:none!important}}
