/* Medical Student Mission: a final, role-scoped clarity and responsive layer. */
:root{--ms-lime:#e2f35f;--ms-mint:#52e0c4;--ms-blue:#8bafff;--ms-panel:#0d171d;--ms-line:#2a3b45;--ms-muted:#aab9bb}

.sim-stage{overflow-anchor:none;scroll-behavior:auto;overscroll-behavior:contain}
.sim-stage button,.sim-stage [role="button"]{touch-action:manipulation}
.sim-stage>.sim-chapter{min-width:0}
.sim-stage>.sim-chapter *{min-width:0}

body[data-mission-profile="medical_student"] .role-band,
body[data-mission-profile="medical_student"] .pilot-interaction-guide{display:none!important}
body[data-mission-profile="medical_student"] .sim-tools #simCoach{display:block!important}

.ms-action-bar{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 10px;padding:11px 13px;border:1px solid rgba(139,175,255,.5);border-left:4px solid var(--ms-blue);background:linear-gradient(90deg,rgba(139,175,255,.12),rgba(13,23,29,.94));color:#edf5f3}
.ms-action-bar>span{display:grid;place-items:center;min-height:42px;border:1px solid var(--ms-blue);color:var(--ms-blue);font:700 11px/1 var(--mono);letter-spacing:.12em}
.ms-action-bar>div{display:grid;gap:3px}.ms-action-bar b{font:700 15px/1.25 var(--mono);letter-spacing:.02em}.ms-action-bar small{color:var(--ms-muted);font:11px/1.45 var(--sans)}
.ms-action-bar>em{color:#718083;font:700 8px/1.3 var(--mono);font-style:normal;letter-spacing:.09em;text-align:right}

.ms-coach-choice{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 11px;border:1px solid rgba(82,224,196,.36);background:rgba(82,224,196,.055)}
.ms-coach-choice>div{display:grid;gap:2px;margin-right:auto}.ms-coach-choice span{color:var(--ms-mint);font:700 8px var(--mono);letter-spacing:.12em}.ms-coach-choice b{font-size:13px}
.ms-coach-choice button{min-height:42px;padding:8px 11px;border:1px solid var(--ms-line);background:#101a20;color:#dfeae8;font:700 8px var(--mono);cursor:pointer}
.ms-coach-choice button:first-of-type{border-color:var(--ms-mint);color:var(--ms-mint)}

/* Setup hierarchy */
.credible-compact-setup fieldset legend{font-size:12px!important;letter-spacing:.08em}
.credible-compact-setup fieldset[data-step="time"] legend{color:var(--ms-lime)}
.credible-compact-setup .choice-grid label>span{min-height:92px}
.credible-compact-setup .choice-grid small{font-size:12px!important;line-height:1.35!important}

/* Prepare room: keep the sequence readable and show actual abdominal anchors. */
.ms-quick-scope{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:7px 0;padding:9px 11px;border-left:3px solid var(--ms-lime);background:rgba(226,243,95,.07)}
.ms-quick-scope span{grid-row:1/3;color:var(--ms-lime);font:700 8px var(--mono);letter-spacing:.1em}.ms-quick-scope b{font:700 12px var(--mono)}.ms-quick-scope small{grid-column:2;color:var(--ms-muted);font-size:10px;line-height:1.4}
.ms-prep-landmarks{position:absolute;z-index:16;inset:0;pointer-events:none}
.ms-prep-landmarks i{position:absolute;padding:2px 4px;background:rgba(4,10,12,.9);color:#d9e3df;font:700 6px var(--mono);font-style:normal;white-space:nowrap}
.ms-prep-landmarks .xiphoid{left:56%;top:26%}.ms-prep-landmarks .umbilicus{left:55%;top:50%}.ms-prep-landmarks .lower{left:47%;top:72%;transform:translateX(-50%)}
body[data-mission-profile="medical_student"][data-rehearsal-pace="2-min"] .credible-pref-brief,
body[data-mission-profile="medical_student"][data-rehearsal-pace="2-min"] .credible-verify-list{display:none!important}
body[data-mission-profile="medical_student"][data-rehearsal-pace="2-min"] .credible-room-action.done:is(.action-cameraLight,.action-insufflation,.action-suction,.action-energy,.action-cords){opacity:.2;pointer-events:none}
.credible-room-cords path{stroke-dasharray:10 8;transition:opacity .25s,stroke .25s}
.credible-room-scene:not(.flow-ready) .credible-room-cords path{stroke:#a47742!important;opacity:.7}
.credible-room-scene.flow-ready .credible-room-cords path{stroke:var(--ms-mint)!important;opacity:.35}

/* Open / Hasson: four unmistakable objects, no comb-like mini timeline. */
.ms-hasson-device{position:relative;display:block;width:100%;height:94px!important;overflow:visible}
.ms-entry-incision{position:absolute;left:8%;top:48%;width:54px;height:4px;border-radius:50%;background:#6f3135;box-shadow:0 0 0 3px rgba(190,104,98,.22)}
.ms-entry-fascia{position:absolute;left:29%;top:43%;width:62px;height:20px}
.ms-entry-fascia i{position:absolute;top:4px;width:29px;height:12px;border-top:3px solid #d4b69e}.ms-entry-fascia i:first-child{left:0;transform:rotate(-12deg)}.ms-entry-fascia i:last-child{right:0;transform:rotate(12deg)}
.ms-kelly{position:absolute;left:11%;top:7px;width:49%;height:76px;transform:rotate(-2deg)}
.ms-kelly .ring{position:absolute;left:0;width:23px;height:20px;border:4px solid #b5c5c7;border-radius:50%}.ms-kelly .ring.a{top:8px}.ms-kelly .ring.b{bottom:8px}
.ms-kelly .hinge{position:absolute;left:27px;top:34px;width:10px;height:10px;border:3px solid #b5c5c7;border-radius:50%}
.ms-kelly .shaft,.ms-kelly .jaw{position:absolute;left:34px;height:4px;background:#c8d3d3;transform-origin:left center}.ms-kelly .shaft.a{top:36px;width:108px;transform:rotate(-8deg)}.ms-kelly .shaft.b{top:40px;width:108px;transform:rotate(8deg)}
.ms-kelly .jaw{left:140px;width:39px}.ms-kelly .jaw.a{top:20px;transform:rotate(8deg);border-radius:0 80% 0 0}.ms-kelly .jaw.b{top:56px;transform:rotate(-8deg);border-radius:0 0 80% 0}
.ms-entry-cannula{position:absolute;right:5%;top:19px;width:18px;height:61px;border-radius:8px 8px 2px 2px;background:linear-gradient(90deg,#7e8b8d,#d6dede 45%,#728083);box-shadow:0 0 0 2px rgba(139,175,255,.18)}
.ms-entry-cannula:after{content:"";position:absolute;right:-14px;bottom:-4px;width:28px;height:8px;border:2px solid #a7b9bd;border-left:0;border-radius:50%}
.ms-entry-cannula i{position:absolute;left:-7px;top:-5px;width:32px;height:8px;background:#9aabad;border-radius:3px}
.hardening-entry-method .access-choice button:first-child{border-color:rgba(226,243,95,.7);background:linear-gradient(160deg,rgba(226,243,95,.045),rgba(139,175,255,.03))!important}
.hardening-entry-method .access-choice button>small{font-size:10px!important;line-height:1.45!important}
.ms-hasson-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0 0 8px}
.ms-hasson-steps span{display:flex;align-items:center;gap:7px;min-height:43px;padding:7px;border:1px solid var(--ms-line);color:#627175;font:700 8px/1.3 var(--mono)}
.ms-hasson-steps i{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border:1px solid currentColor;border-radius:50%;font-style:normal}.ms-hasson-steps .current{border-color:var(--ms-lime);color:#edf2bd;background:rgba(226,243,95,.06)}.ms-hasson-steps .done{border-color:var(--ms-mint);color:var(--ms-mint)}
.method-hasson .hasson-technique{filter:none!important}.method-hasson .hasson-kocher{filter:drop-shadow(0 4px 7px rgba(0,0,0,.7))}

/* Ports and camera orientation */
.ms-port-spacing{display:grid;grid-template-columns:150px 1fr;gap:3px 12px;margin:7px 0;padding:9px 11px;border:1px solid rgba(139,175,255,.3);background:rgba(139,175,255,.045)}
.ms-port-spacing span{grid-row:1/3;color:var(--ms-blue);font:700 8px var(--mono);letter-spacing:.1em}.ms-port-spacing b{font:700 11px var(--mono)}.ms-port-spacing small{grid-column:2;color:var(--ms-muted);font-size:10px;line-height:1.4}
.hardening-port-controls header span{font-size:10px!important}.hardening-port-controls header small{font-size:10px!important;line-height:1.4}
.hardening-port-site,.hardening-keyboard button{min-width:52px!important;min-height:52px!important}
.ms-camera-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:5px 0 9px}
.ms-camera-phases span{padding:8px;border:1px solid var(--ms-line);color:#5c6a6d;font:700 8px var(--mono)}.ms-camera-phases .current{border-color:var(--ms-lime);color:#edf2bd}.ms-camera-phases .done{border-color:var(--ms-mint);color:var(--ms-mint)}
.fidelity-camera-actions .sim-action:not(.sim-next):not(.done){display:none}

/* Exposure, anatomy, and CVS. */
.ms-exposure-result,.ms-target-rule{display:grid;grid-template-columns:auto 1fr;gap:8px;margin:8px 0;padding:10px 12px;border-left:3px solid var(--ms-mint);background:rgba(82,224,196,.055)}
.ms-exposure-result span,.ms-target-rule span{color:var(--ms-mint);font:700 8px var(--mono);letter-spacing:.1em}.ms-exposure-result b,.ms-target-rule b{font:700 11px/1.4 var(--mono)}
.hardening-orientation[data-progressive-landmarks="0"] .an-labels text:nth-child(n+3),
.hardening-orientation[data-progressive-landmarks="1"] .an-labels text:nth-child(n+3):not(:nth-child(9)),
.hardening-orientation[data-progressive-landmarks="2"] .an-labels text:nth-child(n+5):not(:nth-child(9)){opacity:0}
.hardening-anatomy .an-labels text{paint-order:stroke;stroke:#081013;stroke-width:4px;stroke-linejoin:round;transition:opacity .2s}
.hardening-orientation:not([data-progressive-landmarks="3"]) .hardening-anatomy-key{opacity:.34}
.hardening-anatomy-hotspot{min-height:46px!important}
.ms-key-step{display:grid;gap:4px;padding:11px 12px;border:1px solid rgba(226,243,95,.66);border-left:5px solid var(--ms-lime);background:rgba(226,243,95,.075)}
.ms-key-step span{color:var(--ms-lime);font:700 9px var(--mono);letter-spacing:.12em}.ms-key-step b{font-size:15px}.ms-key-step small{color:#c7d3d0;font-size:11px;line-height:1.45}
.fidelity-cvs-checks button{min-height:82px!important}.fidelity-cvs-checks button small{font-size:11px!important;line-height:1.4!important}

/* Optional IOC, control/divide targeting, and liver-bed continuity. */
.ioc-decision h2{font-size:20px!important}.ioc-decision p{font-size:12px!important;line-height:1.5!important}
.ioc-decision>div{display:flex;flex-wrap:wrap;gap:8px}.ioc-decision button{min-height:50px;flex:1 1 220px}
.ioc-decision .ms-recommended{order:-1}
.ms-quick-ioc:before{content:"2-MINUTE PATH · IOC DETAIL IS OPTIONAL";display:block;margin-bottom:7px;color:var(--ms-lime);font:700 8px var(--mono);letter-spacing:.11em}
.division-work.target-duct .lap-tool,.divide-field.target-duct .lap-tool{transform:translate(-3%,8%) rotate(-8deg)!important;transform-origin:right center}
.division-work.target-artery .lap-tool,.divide-field.target-artery .lap-tool{transform:translate(-2%,-5%) rotate(4deg)!important;transform-origin:right center}
.ms-bed-sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:7px 0}
.ms-bed-sequence span{padding:8px;border:1px solid var(--ms-line);color:#637174;font:700 8px var(--mono)}.ms-bed-sequence .current{border-color:var(--ms-lime);color:#edf2bd}.ms-bed-sequence .done{border-color:var(--ms-mint);color:var(--ms-mint)}

/* Two-minute closure recognition. */
.ms-quick-closure-work{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:10px}
.ms-closure-map{position:relative;min-height:430px;overflow:hidden;border:1px solid var(--ms-line);border-radius:46% 46% 24% 24%;background:radial-gradient(ellipse at 50% 42%,#8a5d56,#4d3334 65%,#1a171b)}
.ms-closure-map .costal{position:absolute;left:12%;right:12%;top:20%;height:32%;border-top:3px solid rgba(233,194,171,.45);border-radius:50%}.ms-closure-map .midline{position:absolute;left:50%;top:12%;bottom:10%;width:2px;background:rgba(233,194,171,.18)}.ms-closure-map .umbilicus{position:absolute;left:calc(50% - 12px);top:55%;width:24px;height:12px;border-radius:50%;background:#231518}
.ms-closure-map .site{position:absolute;width:26px;height:26px;border:3px solid var(--ms-mint);border-radius:50%;box-shadow:0 0 0 8px rgba(82,224,196,.09)}.ms-closure-map .site.camera{left:calc(50% - 13px);top:52%;border-color:var(--ms-lime);box-shadow:0 0 0 12px rgba(226,243,95,.1)}.ms-closure-map .site.epi{left:51%;top:25%}.ms-closure-map .site.medial{left:33%;top:37%}.ms-closure-map .site.lateral{left:18%;top:45%}
.ms-closure-map .site b{position:absolute;left:34px;top:-6px;width:170px;padding:5px;background:rgba(5,10,12,.9);color:var(--ms-lime);font:700 8px/1.3 var(--mono)}
.ms-quick-closure-work aside{display:grid;align-content:center;gap:10px;padding:18px;border:1px solid var(--ms-line);background:var(--ms-panel)}.ms-quick-closure-work aside>span{color:var(--ms-blue);font:700 9px var(--mono)}.ms-quick-closure-work h2{margin:0;font-size:20px}.ms-quick-closure-work p{margin:0;color:var(--ms-muted);font-size:12px;line-height:1.55}.ms-quick-closure-work button{min-height:62px}
.hardening-closure-field[data-hardening-closure-gesture]{touch-action:none!important}.closure-gesture-cue{pointer-events:none!important}

/* Explore becomes an explicit practical orientation tool. */
.ms-explore-guide{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:10px 12px;border-left:3px solid var(--ms-blue);background:rgba(139,175,255,.055)}
.ms-explore-guide span{grid-row:1/3;color:var(--ms-blue);font:700 8px var(--mono);letter-spacing:.1em}.ms-explore-guide b{font-size:13px}.ms-explore-guide small{grid-column:2;color:var(--ms-muted);font-size:11px}

@media (max-height:850px) and (min-width:1025px){
  .ms-action-bar{padding-block:8px}.ms-action-bar>span{min-height:34px}
  .ms-coach-choice{padding-block:6px}.ms-hasson-steps span{min-height:36px}
  .hardening-entry-method .access-choice button{min-height:176px!important}
  .fidelity-traction-field,.fidelity-dissect-field{height:clamp(340px,45vh,390px)!important}
}

@media (max-width:1024px){
  .ms-action-bar{grid-template-columns:88px 1fr}.ms-action-bar>em{display:none}
  .credible-room-layout{grid-template-columns:1fr!important}.credible-room-sidebar{grid-template-columns:1fr 1fr!important}
  .credible-room-scene{height:660px!important}
  .hardening-port-workspace,.ms-quick-closure-work{grid-template-columns:1fr!important}
  .hardening-port-controls{min-height:0!important}.hardening-internal-view{min-height:260px}
  .ms-closure-map{min-height:360px}
  .hardening-anatomy-stage{height:600px!important}
}

@media (max-width:760px){
  body[data-mission-profile="medical_student"] .sim-header{grid-template-columns:96px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:5px!important}
  body[data-mission-profile="medical_student"] .sim-brand-hud{grid-column:1!important;grid-row:1!important}
  body[data-mission-profile="medical_student"] .sim-nav{display:flex!important;grid-column:1/3!important;grid-row:2!important;overflow-x:auto}
  body[data-mission-profile="medical_student"] .sim-nav button{min-width:116px!important;min-height:40px!important;font-size:7px!important}
  body[data-mission-profile="medical_student"] .sim-case-id{display:block!important;grid-column:2!important;grid-row:1!important}.sim-case-id span{display:none!important}.sim-case-id h2{font-size:13px!important}
  body[data-mission-profile="medical_student"] .sim-tools{display:flex!important;grid-column:3!important;grid-row:1/3!important;align-self:stretch!important}
  body[data-mission-profile="medical_student"] .sim-tools>*:not(#simCoach){display:none!important}
  body[data-mission-profile="medical_student"] #simCoach{display:block!important;min-width:68px!important;min-height:42px!important;font-size:7px!important}
  .sim-timeline{padding:5px 8px!important}.sim-timeline button{min-width:88px!important;min-height:42px!important;font-size:8px!important}
  .sim-stage{padding:9px 7px 16px!important}
  .sim-chapter h1{font-size:clamp(29px,9.5vw,40px)!important;line-height:1!important}
  .mission-objective{grid-template-columns:70px 1fr!important;padding:9px!important}.mission-objective>b{font-size:12px!important}.mission-objective>strong{grid-column:1/-1!important;font-size:9px!important}
  .ms-action-bar{grid-template-columns:72px 1fr;gap:8px;padding:8px}.ms-action-bar>span{min-height:38px;font-size:9px}.ms-action-bar b{font-size:12px}.ms-action-bar small{font-size:11px}.ms-coach-choice{display:grid;grid-template-columns:1fr 1fr}.ms-coach-choice>div{grid-column:1/-1}
  .credible-room-sidebar{grid-template-columns:1fr!important}.credible-room-scene{height:610px!important}.credible-room-action>b{font-size:8px!important}.credible-room-action>small{display:none}
  .ms-prep-landmarks i{font-size:5px}.ms-prep-landmarks .lower{max-width:95px;white-space:normal;text-align:center}
  .hardening-entry-method .access-choice{grid-template-columns:1fr!important}.hardening-entry-method .access-choice button{grid-template-columns:122px 1fr!important;grid-template-rows:auto auto!important;min-height:122px!important}.hardening-entry-method .access-choice .method-device{grid-row:1/3!important;height:84px!important}.hardening-entry-method .access-choice button>small{font-size:10px!important}
  .ms-hasson-steps{grid-template-columns:1fr 1fr}.access-rehearsal-layout{grid-template-columns:1fr!important}.access-world{height:500px!important;min-height:500px!important}.access-action-rail{position:relative!important;bottom:auto!important;box-shadow:none!important}
  .ms-port-spacing{grid-template-columns:1fr}.ms-port-spacing span{grid-row:auto}.ms-port-spacing small{grid-column:1}.hardening-abdomen{min-height:460px!important}.hardening-keyboard button{min-height:58px!important}.hardening-port-status{grid-template-columns:1fr 1fr!important}.hardening-port-status span{font-size:7px!important}
  .ms-camera-phases,.ms-bed-sequence{grid-template-columns:1fr}.ms-camera-phases span,.ms-bed-sequence span{min-height:38px}.fidelity-camera-work{grid-template-columns:1fr!important}.fidelity-camera-external{min-height:180px}.fidelity-laparoscopic-view{min-height:300px!important;width:100%!important}
  .fidelity-exposure-work{grid-template-columns:1fr!important}.fidelity-traction-field{height:440px!important;min-height:440px!important}.fidelity-traction-controls button{min-height:52px!important;font-size:11px!important}
  .hardening-anatomy-stage{height:680px!important}.hardening-anatomy{transform:scale(1.08)!important;transform-origin:59% 42%!important}.hardening-anatomy-hotspot{min-width:132px!important;font-size:7px!important}.hardening-anatomy-key{font-size:7px!important}
  .density-critical-view .dissect-work{grid-template-columns:1fr!important}.fidelity-dissect-field{height:470px!important;min-height:470px!important}.dissect-instruments{grid-template-columns:1fr 1fr!important}.dissect-instruments button{min-height:104px!important}.fidelity-cvs-checks{grid-template-columns:1fr!important}.fidelity-cvs-checks button{min-height:86px!important}
  .division-work,.liverbed-work{grid-template-columns:1fr!important}.divide-field,.liverbed-field{height:460px!important;min-height:460px!important}.instrument-bank button,.ioc-decision button{min-height:58px!important}
  .ms-closure-map{min-height:330px}.ms-quick-closure-work aside{padding:13px}
  .hardening-closure-layout{grid-template-columns:1fr!important}.hardening-closure-field{min-height:470px!important}.closure-material-grid,.closure-port-grid{grid-template-columns:1fr!important}.closure-material-grid button,.closure-port-grid button{min-height:58px!important}
  .sim-footer{min-height:44px}.sim-footer #simFeedback{font-size:10px!important;line-height:1.35!important}
}

@media (max-width:430px){
  .credible-compact-setup .choice-grid.three{grid-template-columns:1fr!important}.credible-compact-setup .choice-grid label>span{min-height:68px!important}
  .credible-room-scene{height:570px!important}.credible-readiness-strip{grid-template-columns:1fr 1fr!important}.credible-readiness-strip span{font-size:7px!important}
  .hardening-entry-method .access-choice button{grid-template-columns:102px 1fr!important;padding:9px!important}.ms-hasson-device{transform:scale(.82);transform-origin:left center}
  .hardening-abdomen{min-height:420px!important}.hardening-keyboard{grid-template-columns:1fr 1fr!important}.hardening-keyboard button{position:relative!important;inset:auto!important;transform:none!important}
  .hardening-anatomy-stage{height:620px!important}.hardening-anatomy-key{display:none!important}
  .fidelity-traction-field,.fidelity-dissect-field,.divide-field,.liverbed-field{height:420px!important;min-height:420px!important}
  .ms-key-step b{font-size:13px}.ms-explore-guide{grid-template-columns:1fr}.ms-explore-guide span{grid-row:auto}.ms-explore-guide small{grid-column:1}
}

@media (prefers-reduced-motion:reduce){.hardening-anatomy .an-labels text{transition:none}}
