:root{--sim-blue:#7fa7ff;--sim-warm:#dbe86f;--sim-teal:#52e0c4;--sim-amber:#ffbd59;--sim-red:#e77d6c;--sim-muted:#71807f}
.sim-overlay{position:fixed;inset:0;z-index:220;background:#06090c;overflow:hidden}.sim-overlay[hidden]{display:none}.sim-shell{height:100vh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;background:radial-gradient(circle at 74% 8%,rgba(66,101,170,.16),transparent 34%),#080b0e}.sim-header{display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:22px;padding:13px clamp(14px,3vw,44px);border-bottom:1px solid var(--line);background:rgba(7,11,14,.96)}.sim-home{width:200px;height:48px;padding:0;border:0;background:transparent;cursor:pointer}.sim-home img{width:100%;height:100%;object-fit:contain;object-position:left center}.sim-case-id span,.sim-kicker{font:7px var(--mono);letter-spacing:.14em;color:var(--sim-blue)}.sim-case-id h2{margin:4px 0 0;font-size:22px}.sim-tools{display:flex;gap:7px}.sim-tools button{padding:9px 10px;border:1px solid var(--line);background:#11171d;color:var(--ink);font:7px var(--mono);cursor:pointer}.sim-tools #simSound{color:var(--sim-teal)}.sim-timeline{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;padding:10px clamp(14px,3vw,44px);border-bottom:1px solid var(--line)}.sim-timeline span{padding:6px 3px;border-top:3px solid var(--line);font:7px var(--mono);color:#596464}.sim-timeline .complete{border-color:var(--sim-teal);color:var(--sim-teal)}.sim-timeline .current{border-color:var(--sim-blue);color:var(--sim-blue);font-weight:700}.sim-timeline .next{border-color:rgba(219,232,111,.4);color:var(--sim-warm)}.sim-continuity{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 12px;border-bottom:1px solid rgba(127,167,255,.12);font:6px var(--mono);color:#536064}.sim-continuity i{font-style:normal;color:rgba(219,232,111,.45)}.sim-stage{overflow:auto;display:grid;place-items:start center;padding:clamp(18px,3vw,38px)}.sim-stage[data-scale="table"]{background:radial-gradient(circle at 50% 50%,rgba(127,167,255,.055),transparent 46%)}.sim-stage[data-scale="abdomen"]{background:radial-gradient(circle at 50% 55%,rgba(119,82,72,.09),transparent 45%)}.sim-stage[data-scale="inside"],.sim-stage[data-scale="operation"]{background:radial-gradient(circle at 50% 50%,rgba(111,56,59,.09),transparent 48%)}.sim-chapter{width:min(1040px,100%);animation:simIn .35s ease both}@keyframes simIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.sim-chapter h1{font-size:clamp(32px,5vw,62px);line-height:1;margin:7px 0}.sim-chapter>p{margin:8px 0 18px;color:var(--muted);font-size:12px}.sim-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px clamp(14px,3vw,44px);border-top:1px solid var(--line);background:#080c0f;font:7px var(--mono)}.sim-footer span{color:var(--sim-blue)}.sim-footer span[data-kind="pitfall"]{color:var(--sim-amber)}.sim-footer span[data-kind="hold"]{color:var(--sim-red)}.sim-footer small{color:#566160}.sim-action{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:#10161b;color:var(--ink);text-align:left;cursor:pointer}.sim-action i{width:17px;height:17px;flex:0 0 17px;border:1px solid var(--sim-muted);border-radius:50%}.sim-action.done{border-color:var(--sim-teal);color:var(--sim-teal)}.sim-action.done i{background:var(--sim-teal);box-shadow:inset 0 0 0 5px #10161b}.sim-action.secondary{opacity:.55}.sim-next{border-color:var(--sim-warm)!important;box-shadow:0 0 0 0 rgba(219,232,111,.25);animation:simPulse 1.65s infinite!important}@keyframes simPulse{65%{box-shadow:0 0 0 10px rgba(219,232,111,0)}}.sim-success,.sim-consequence{margin-top:9px;padding:11px;border:1px solid rgba(82,224,196,.55);background:rgba(82,224,196,.05);color:var(--sim-teal);font:8px var(--mono)}.decision-label,.orientation-rule{padding:8px 10px;border-left:2px solid var(--sim-blue);color:var(--sim-muted);font:7px var(--mono)}
.patient-frame{position:absolute;inset:0;pointer-events:none;z-index:8}.orient{position:absolute;padding:4px 6px;background:rgba(6,10,12,.88);border:1px solid rgba(127,167,255,.22);color:white;font:6px var(--mono);letter-spacing:.08em}.orient.head{top:8px;left:50%;transform:translateX(-50%)}.orient.feet{bottom:8px;left:50%;transform:translateX(-50%)}.orient.right{left:8px;top:50%;transform:translateY(-50%);color:var(--sim-warm)}.orient.left{right:8px;top:50%;transform:translateY(-50%)}
.position-world{height:370px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(90deg,rgba(127,167,255,.04) 1px,transparent 1px),linear-gradient(rgba(127,167,255,.04) 1px,transparent 1px),#0a1216;background-size:25px 25px}.sim-table{position:absolute;width:170px;height:310px;left:30%;top:28px;border:2px solid #5b7176;border-radius:58px;background:#213039;transition:.45s;box-shadow:0 22px 34px rgba(0,0,0,.45)}.sim-head{position:absolute;width:46px;height:46px;left:60px;top:23px;border-radius:50%;background:#93aaa6}.sim-torso{position:absolute;width:80px;height:175px;left:43px;top:71px;border-radius:35px;background:#687f7b}.sim-right-arm,.sim-left-arm{position:absolute;width:18px;height:118px;top:78px;border-radius:10px;background:#687f7b}.sim-right-arm{left:25px}.sim-left-arm{right:25px}.gravity-consequence{position:absolute;left:18px;right:18px;top:94px;height:92px;border:1px dashed rgba(219,232,111,.45);display:grid;place-items:center;color:var(--sim-warm);font:6px var(--mono);font-weight:400;opacity:.38}.position-world.head-up .sim-table{transform:perspective(700px) rotateX(-12deg) translateY(-8px)}.position-world.head-down .sim-table{transform:perspective(700px) rotateX(12deg) translateY(8px)}.position-world.right-up .sim-table{rotate:-7deg}.position-world.left-up .sim-table{rotate:7deg}.position-world.head-up.right-up .sim-table{transform:perspective(700px) rotateX(-12deg) translateY(-8px) rotateZ(-7deg)}.position-world.head-up.right-up .gravity-consequence{opacity:1;border-color:var(--sim-teal);color:var(--sim-teal);background:rgba(82,224,196,.06)}.position-consequence{position:absolute;width:310px;height:215px;right:8%;top:72px;border:8px solid #263640;background:#4c292d;display:grid;place-items:center;text-align:center}.position-consequence i{width:90px;height:130px;border-radius:50% 50% 35% 35%;background:#697d53;transition:.4s}.position-world.head-up.right-up .position-consequence i{transform:translate(30px,-30px) rotate(-12deg);box-shadow:0 0 0 2px var(--sim-teal)}.position-consequence span{position:absolute;left:8px;bottom:8px;font:6px var(--mono);color:white}.position-controls{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.position-controls .sim-action{justify-content:center}
.prep-world{height:390px;position:relative;overflow:hidden;border:1px solid var(--line);background:#0a1216}.prep-table{position:absolute;width:175px;height:320px;left:38%;top:25px;border:2px solid #566d70;border-radius:58px;background:#1d2b31}.prep-patient{position:absolute;inset:24px 42px;border-radius:40px;background:#617b76}.prep-hotspot{position:absolute;padding:10px;border:1px dashed var(--sim-warm);background:rgba(9,14,17,.9);color:var(--ink);font:7px var(--mono);cursor:pointer;z-index:10}.prep-hotspot.done{border-color:var(--sim-teal);background:rgba(82,224,196,.16);color:var(--sim-teal);animation:none!important}.prep-hotspot.strap{left:24px;right:24px;top:135px}.prep-hotspot.footboard{left:27px;right:27px;bottom:15px}.prep-hotspot.equipment{width:185px;height:250px;right:9%;top:65px;border-style:solid}.prep-hotspot.equipment i{display:block;height:56px;margin:8px;border:2px solid #3f5961;background:#0a2026}.prep-hotspot.equipment span{display:block;margin-top:12px}.prep-cords{position:absolute;width:4px;height:215px;right:28%;top:120px;background:var(--sim-amber);rotate:45deg;transform-origin:top;transition:.45s}.prep-cords.connected{height:145px;right:30%;rotate:4deg;background:var(--sim-teal)}
.access-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.access-choice button{min-height:180px;padding:18px;border:1px solid var(--line);background:#10171c;color:var(--ink);text-align:left;cursor:pointer}.access-choice button:hover{border-color:var(--sim-warm)}.access-choice i{display:block;width:38px;height:38px;margin-bottom:30px;border:1px solid var(--sim-blue);border-radius:50%;position:relative}.access-choice i:after{content:'';position:absolute;width:3px;height:72px;left:18px;top:20px;background:var(--sim-blue);rotate:-24deg;transform-origin:top}.access-choice b,.access-choice small{display:block}.access-choice small{margin-top:8px;color:var(--sim-muted);font:7px var(--mono)}.source-note{display:block;margin-top:12px;color:var(--sim-muted);font:7px var(--mono)}.access-world{height:330px;position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:8px}.abdomen-surface,.access-depth{position:relative;overflow:hidden;border:1px solid var(--line)}.abdomen-surface{border-radius:46% 46% 22% 22%;background:radial-gradient(ellipse,#826b61,#383335)}.umbilicus{position:absolute;width:24px;height:13px;left:calc(50% - 12px);top:57%;border:2px solid #2e2422;border-radius:50%}.entry-mark{position:absolute;width:38px;height:38px;left:calc(50% - 19px);top:42%;border:1px dashed var(--sim-warm);border-radius:50%;opacity:0}.access-instrument{position:absolute;width:12px;height:230px;left:53%;top:-155px;background:linear-gradient(90deg,#727e83,#dce4e7,#69767b);rotate:-17deg;transform-origin:bottom;transition:.42s}.access-world.step-1 .entry-mark,.access-world.step-2 .entry-mark,.access-world.step-3 .entry-mark,.access-world.step-4 .entry-mark,.access-world.step-5 .entry-mark{opacity:1}.access-world.step-2 .access-instrument,.access-world.step-3 .access-instrument,.access-world.step-4 .access-instrument,.access-world.step-5 .access-instrument{transform:translateY(75px)}.access-world.step-3 .access-instrument,.access-world.step-4 .access-instrument,.access-world.step-5 .access-instrument{width:22px}.abdomen-surface>span,.access-depth>span{position:absolute;left:10px;bottom:9px;color:white;font:7px var(--mono)}.access-depth{background:linear-gradient(90deg,#734a43 0 30%,#bb8661 31% 58%,#4b2a2e 59%)}.access-depth i{position:absolute;width:16px;height:270px;left:48%;top:-160px;background:#d9e1e4;rotate:-16deg;transition:.42s}.access-world.step-3 .access-depth i,.access-world.step-4 .access-depth i,.access-world.step-5 .access-depth i{transform:translateY(145px)}.sequence-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.text-action{margin-top:9px;padding:7px;border:0;background:none;color:var(--sim-muted);font:7px var(--mono);text-decoration:underline;cursor:pointer}
.port-world{height:430px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px}.port-abdomen,.trajectory-view{position:relative;overflow:hidden;border:1px solid var(--line)}.port-abdomen{border-radius:45% 45% 22% 22%;background:radial-gradient(ellipse,#80685e,#383335)}.camera-port{position:absolute;width:18px;height:18px;left:calc(50% - 9px);top:59%;border:2px solid white;border-radius:50%;background:#132028}.camera-label{position:absolute;left:calc(50% - 25px);top:65%;font:6px var(--mono)}.port-site{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;border:1px dashed var(--sim-warm);border-radius:50%;background:rgba(7,12,13,.82);color:white;cursor:pointer;z-index:12}.port-site:hover{background:rgba(219,232,111,.16)}.port-site.placed{background:var(--sim-teal);border-color:var(--sim-teal);color:#07110f}.port-site.bad{background:rgba(231,125,108,.2);border-color:var(--sim-red);box-shadow:0 0 0 7px rgba(231,125,108,.08)}.trajectory-view{background:linear-gradient(145deg,#6a3b3d 0 46%,#a9754b 47%)}.trajectory-view>span{position:absolute;left:9px;top:9px;color:white;font:7px var(--mono)}.target-zone{position:absolute;width:84px;height:72px;left:52%;top:47%;border:2px dashed var(--sim-teal);border-radius:50%}.camera-shaft,.working-shaft,.bad-trajectory{position:absolute;width:7px;height:270px;left:50%;bottom:-70px;background:linear-gradient(#d8e0e4,#68777c);transform-origin:bottom}.camera-shaft{transform:rotate(0)}.working-shaft.s0{transform:rotate(-17deg)}.working-shaft.s1{transform:rotate(-31deg)}.working-shaft.s2{transform:rotate(-43deg)}.bad-trajectory{left:68%;background:var(--sim-red);transform:rotate(25deg)}
.camera-transition{height:360px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.outside-camera,.inside-camera{position:relative;overflow:hidden;border:1px solid var(--line)}.outside-camera{background:radial-gradient(ellipse,#80685e,#393436)}.outside-camera i{position:absolute;width:22px;height:290px;left:52%;top:-210px;background:#d9e1e4;rotate:-17deg;transition:.45s}.camera-transition.c1 .outside-camera i,.camera-transition.c2 .outside-camera i,.camera-transition.c3 .outside-camera i,.camera-transition.c4 .outside-camera i,.camera-transition.c5 .outside-camera i{transform:translateY(145px)}.outside-camera span,.inside-camera span{position:absolute;left:9px;bottom:9px;color:white;font:7px var(--mono)}.inside-camera{background:radial-gradient(circle,#85504a,#3d2428);filter:brightness(.4) blur(6px);transition:.45s}.camera-transition.c2 .inside-camera,.camera-transition.c3 .inside-camera,.camera-transition.c4 .inside-camera,.camera-transition.c5 .inside-camera{filter:none}.inside-liver{position:absolute;left:7%;right:8%;top:9%;height:47%;border-radius:55% 40% 34% 28%;background:#70413e}.inside-gb{position:absolute;width:55px;height:118px;left:58%;top:38%;border-radius:50% 50% 34% 34%;background:#647e50;opacity:.18}.camera-transition.c5 .inside-gb{opacity:1;box-shadow:0 0 0 2px var(--sim-teal)}.inside-horizon{position:absolute;left:12%;right:12%;top:58%;height:2px;background:var(--sim-blue);rotate:17deg;transition:.4s}.camera-transition.c3 .inside-horizon,.camera-transition.c4 .inside-horizon,.camera-transition.c5 .inside-horizon{rotate:0deg}.diagnostic-sweep{position:absolute;width:150px;height:150px;left:42%;top:30%;border:1px dashed var(--sim-warm);border-radius:50%;opacity:0}.camera-transition.c4 .diagnostic-sweep{opacity:1;animation:sweep 1.1s ease both}@keyframes sweep{from{transform:translateX(-120px)}to{transform:none}}
.lap-field{height:390px;position:relative;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 55% 48%,#855049,#3a2226 72%)}.lap-field .liver{position:absolute;left:5%;right:7%;top:6%;height:48%;border-radius:58% 44% 36% 27%;background:#70413e}.exposure-field .gallbladder{position:absolute;width:65px;height:145px;left:56%;top:35%;border-radius:50% 50% 34% 34%;background:#647e50;transform-origin:top;transition:.45s}.exposure-field .gallbladder b,.exposure-field .gallbladder em{position:absolute;color:white;font:6px var(--mono);font-style:normal}.exposure-field .gallbladder b{left:12px;top:18px}.exposure-field .gallbladder em{left:12px;bottom:15px}.exposure-triangle{position:absolute;width:82px;height:70px;left:50%;top:57%;border:2px solid var(--sim-teal);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.08;transition:.45s}.fundus-vector,.neck-vector{position:absolute;width:2px;background:var(--sim-warm);opacity:0}.fundus-vector{height:90px;left:61%;top:7%}.neck-vector{height:78px;left:60%;top:67%;rotate:55deg}.exposure-field.fundus-up .gallbladder{transform:translateY(-30px)}.exposure-field.neck-lateral .gallbladder{rotate:-12deg}.exposure-field.fundus-down .gallbladder{transform:translateY(18px)}.exposure-field.neck-medial .gallbladder{rotate:15deg}.exposure-field.fundus-up.neck-lateral .gallbladder{transform:translate(12px,-32px) rotate(-12deg)}.exposure-field.fundus-up.neck-lateral .exposure-triangle{opacity:1;transform:scale(1.12)}.exposure-field.fundus-up .fundus-vector,.exposure-field.neck-lateral .neck-vector{opacity:1}.lap-field>span{position:absolute;left:10px;bottom:9px;color:white;font:7px var(--mono)}.traction-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.traction-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:8px;border:1px solid var(--line)}.traction-controls span{grid-column:1/-1;color:var(--sim-muted);font:7px var(--mono)}.traction-controls button{padding:11px;border:1px solid var(--line);background:#10161b;color:var(--ink);cursor:pointer}.traction-controls button.done{border-color:var(--sim-teal);color:var(--sim-teal)}.traction-controls button.selected{border-color:var(--sim-amber);color:var(--sim-amber)}
.dissect-field .gallbladder,.divide-field .gallbladder,.liverbed-field .gallbladder,.final-field .gallbladder{position:absolute;width:63px;height:140px;left:57%;top:31%;border-radius:50% 50% 34% 34%;background:#647e50;z-index:3}.tissue{position:absolute;padding:9px;border:1px dashed var(--sim-warm);background:rgba(24,16,17,.86);color:white;font:7px var(--mono);cursor:pointer;z-index:8}.tissue.peritoneum{left:43%;top:52%}.tissue.triangle{left:45%;top:60%;opacity:0;pointer-events:none}.tissue.plate{left:62%;top:45%;opacity:0;pointer-events:none}.dissect-field.opened .peritoneum{opacity:.2;border-color:var(--sim-teal)}.dissect-field.opened .triangle{opacity:1;pointer-events:auto}.dissect-field.cleared .triangle{opacity:.2;border-color:var(--sim-teal)}.dissect-field.cleared .plate{opacity:1;pointer-events:auto}.dissect-field.plate .plate{opacity:.2;border-color:var(--sim-teal)}.structure,.divide-structure{position:absolute;padding:7px;border:1px solid var(--line);border-radius:20px;background:#10171c;color:white;font:6px var(--mono);cursor:pointer;z-index:12}.structure.duct,.divide-structure.duct{left:48%;top:67%}.structure.artery,.divide-structure.artery{left:62%;top:59%}.structure.common{left:37%;top:75%;border-color:var(--sim-red)}.structure.identified{border-color:var(--sim-teal);color:var(--sim-teal)}.cvs-window{position:absolute;width:110px;height:90px;left:49%;top:52%;border:2px solid var(--sim-teal);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:0}.dissect-field.cvs .cvs-window{opacity:1}.dissect-actions{display:flex;gap:8px;margin-top:8px}.dissect-actions .sim-action{flex:1}.danger-attempt{padding:10px;border:1px solid rgba(231,125,108,.38);background:rgba(231,125,108,.04);color:var(--sim-red);font:7px var(--mono);cursor:pointer}.cvs-status{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:7px}.cvs-status span{padding:8px;border:1px solid var(--line);color:var(--sim-muted);font:6px var(--mono)}.cvs-status .done{border-color:var(--sim-teal);color:var(--sim-teal)}
.ioc-panel{padding:13px;border:1px solid var(--line);background:#0d1318}.ioc-panel>span{color:var(--sim-blue);font:7px var(--mono)}.ioc-panel p{color:var(--sim-muted);font-size:10px}.ioc-panel>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ioc-panel button{padding:11px;border:1px solid var(--line);background:#111820;color:var(--ink);cursor:pointer}.ioc-panel.complete{border-color:var(--sim-teal);color:var(--sim-teal)}.ioc-panel.complete small{display:block;margin-top:5px;font:6px var(--mono)}.ioc-visual{height:140px!important;position:relative;display:block!important;background:#17232c;border:1px solid var(--line)}.ioc-visual i{position:absolute;width:5px;height:105px;left:50%;top:20px;background:var(--sim-blue);rotate:-18deg}.ioc-visual b{position:absolute;right:12px;bottom:9px;font:7px var(--mono);color:var(--sim-teal)}.ioc-panel.active>.sim-action{margin-top:7px}.division-work,.liverbed-work{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;margin-top:8px}.divide-field{height:330px}.divide-structure.selected{border-color:var(--sim-warm);color:var(--sim-warm)}.divide-structure.divided{opacity:.3;text-decoration:line-through}.control-mark{position:absolute;width:24px;height:7px;border:2px solid var(--sim-blue);z-index:13}.control-mark.duct{left:54%;top:70%}.control-mark.artery{left:66%;top:62%}.division-controls,.bed-actions{display:grid;align-content:start;gap:7px;padding:10px;border:1px solid var(--line)}.division-controls p{color:var(--sim-muted)}.liverbed-field{height:330px}.liverbed-field .gallbladder{transition:.4s}.liverbed-field.bed-1 .gallbladder{transform:translateY(-15px)}.liverbed-field.bed-2 .gallbladder{transform:translate(15px,-27px) rotate(-8deg)}.liverbed-field.bed-3 .gallbladder{transform:translate(70px,-60px) rotate(-18deg);box-shadow:0 0 0 2px var(--sim-teal)}.bed-plane{position:absolute;width:130px;height:4px;left:50%;top:59%;background:var(--sim-teal);rotate:-20deg}.bed-actions .danger-attempt{margin-top:18px}
.completion-world{display:grid;grid-template-columns:1.5fr 1fr;gap:8px}.final-field{height:390px}.retrieval-bag{position:absolute;width:150px;height:150px;left:46%;top:45%;border:3px solid #8ba2aa;border-radius:18px 18px 48% 48%;opacity:.15;transition:.4s}.completion-world.step-1 .retrieval-bag,.completion-world.step-2 .retrieval-bag,.completion-world.step-3 .retrieval-bag,.completion-world.step-4 .retrieval-bag,.completion-world.step-5 .retrieval-bag{opacity:1}.completion-world.step-2 .gallbladder,.completion-world.step-3 .gallbladder,.completion-world.step-4 .gallbladder,.completion-world.step-5 .gallbladder{transform:translate(10px,55px) scale(.8)}.completion-world.step-3 .retrieval-bag,.completion-world.step-3 .gallbladder{transform:translateY(-190px)}.completion-actions{display:grid;align-content:start;gap:8px;padding:10px;border:1px solid var(--line)}.completion-actions p{color:var(--sim-muted)}.bleeding-concern{position:absolute;width:38px;height:38px;left:45%;top:60%;border:1px solid var(--sim-red);border-radius:50%;background:var(--sim-red);color:#160706;cursor:pointer;animation:simPulse 1.2s infinite}.concern-seen .bleeding-concern{background:var(--sim-teal);border-color:var(--sim-teal);animation:none}.debrief{text-align:center;padding:clamp(20px,4vw,48px);border:1px solid rgba(82,224,196,.4);background:radial-gradient(circle at 50% 12%,rgba(82,224,196,.09),transparent 44%)}.case-complete-mark{width:75px;height:75px;margin:auto;display:grid;place-items:center;border:1px solid var(--sim-teal);border-radius:50%;color:var(--sim-teal);font-size:32px}.debrief>span{display:block;margin-top:18px;color:var(--sim-teal);font:8px var(--mono)}.debrief h1{margin:10px}.debrief-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:24px 0}.debrief-grid div{padding:14px;border:1px solid var(--line);text-align:left}.debrief-grid b,.debrief-grid span{display:block}.debrief-grid b{color:var(--sim-muted);font:6px var(--mono)}.debrief-grid span{margin-top:7px;color:var(--sim-teal);font:8px var(--mono)}.debrief-notes{padding:16px;border-left:2px solid var(--sim-amber);background:rgba(255,189,89,.04);text-align:left}.debrief-notes b{color:var(--sim-amber);font:7px var(--mono)}.debrief .sim-action{margin:20px auto 0}
.sim-reset{position:fixed;inset:0;z-index:330;display:grid;place-items:center;padding:20px;background:rgba(3,6,8,.84);backdrop-filter:blur(10px)}.sim-reset[hidden]{display:none}.sim-reset section{width:min(480px,100%);padding:32px;border:1px solid var(--line);background:#0d1318}.sim-reset>section>span{color:var(--sim-amber);font:7px var(--mono)}.sim-reset h2{font-size:28px;margin:10px 0}.sim-reset p{color:var(--sim-muted)}.sim-reset section>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:20px}.sim-reset button{padding:12px;border:1px solid var(--line);background:#111820;color:var(--ink);cursor:pointer}.sim-reset button:last-child{background:var(--sim-warm);border-color:var(--sim-warm);color:#0b1010}.b1-timer-launch{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%) scale(2.2);transition:.8s;z-index:300!important}.b1-timer-launch:after{content:'YOUR PREP STARTS NOW';display:block;margin-top:5px;color:var(--sim-warm);font:6px var(--mono)}
@media(max-width:760px){.sim-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.sim-header{grid-template-columns:125px 1fr;padding:9px 10px}.sim-home{width:120px;height:38px}.sim-case-id{display:none}.sim-tools{justify-content:flex-end}.sim-tools button{padding:7px 6px;font-size:5px}.sim-timeline{overflow-x:auto;grid-template-columns:repeat(7,78px);padding:8px 10px}.sim-continuity{display:none}.sim-stage{padding:14px 9px}.sim-chapter h1{font-size:34px}.sim-footer{padding:9px 10px}.sim-footer small{display:none}.position-world{height:540px}.sim-table{left:calc(50% - 85px);top:38px}.position-consequence{width:86%;height:155px;right:7%;top:355px}.position-consequence i{height:95px}.position-controls{grid-template-columns:1fr 1fr}.prep-world{height:540px}.prep-table{left:calc(50% - 88px);top:30px}.prep-hotspot.equipment{width:82%;height:145px;right:9%;top:375px}.prep-hotspot.equipment i{display:inline-block;width:42%;height:52px}.prep-cords{display:none}.access-choice{grid-template-columns:1fr}.access-choice button{min-height:110px}.access-choice i{float:left;margin:0 14px 0 0}.access-world{height:520px;grid-template-columns:1fr;grid-template-rows:1.15fr 1fr}.sequence-actions{grid-template-columns:1fr 1fr}.port-world{height:740px;grid-template-columns:1fr;grid-template-rows:1fr 1fr}.camera-transition{height:600px;grid-template-columns:1fr;grid-template-rows:1fr 1fr}.camera-actions{grid-template-columns:1fr 1fr}.traction-controls{grid-template-columns:1fr}.traction-controls>div{grid-template-columns:1fr 1fr}.dissect-actions{display:grid}.cvs-status{grid-template-columns:1fr}.division-work,.liverbed-work,.completion-world{grid-template-columns:1fr}.divide-field,.liverbed-field{height:330px}.debrief-grid{grid-template-columns:1fr 1fr}.b1-timer-launch{transform:translate(-50%,-50%) scale(1.6)}}

/* Sprint 04 — mission feedback + original Surgical Habitat blueprint geometry. */
:root{--sim-duct:#62d993;--sim-artery:#ff6f6a;--sim-plate:#82b7c5;--sim-metal:#c7d2d8}
.sim-header{grid-template-columns:200px 142px minmax(260px,1fr) auto;gap:14px}.sim-nav{display:flex;gap:6px}.sim-nav button{min-width:66px;padding:9px 10px;border:1px solid var(--line);background:#10161b;color:var(--sim-muted);font:8px var(--mono);cursor:pointer}.sim-nav button:disabled{opacity:.25;cursor:not-allowed}.sim-nav #simForward{border-color:var(--sim-warm);color:#0b1010;background:var(--sim-warm);animation:simPulse 1.65s infinite}.sim-footer{font-size:9px}.sim-footer span[data-kind="correct"]{color:var(--sim-teal)}.sim-footer span[data-kind="pitfall"]{color:var(--sim-amber)}.sim-footer span[data-kind="hold"]{color:var(--sim-red);font-weight:700}.sim-kicker{font-size:9px}.sim-chapter>p{font-size:14px;line-height:1.55}.decision-label,.orientation-rule,.source-note{font-size:9px;line-height:1.55}.sim-action,.traction-controls button,.prep-hotspot,.access-choice button,.ioc-panel button{font-size:11px}.sim-action span{line-height:1.3}.sim-success,.sim-consequence{font-size:10px;line-height:1.5}.mission-cue{display:grid;gap:6px;margin-top:10px;padding:13px 15px;border:1px solid rgba(82,224,196,.66);border-left:4px solid var(--sim-teal);background:linear-gradient(90deg,rgba(82,224,196,.12),rgba(82,224,196,.025));color:var(--sim-teal);animation:missionConfirm .7s ease both}.mission-cue b{font:11px var(--mono);letter-spacing:.05em}.mission-cue span{color:#c4ded8;font-size:11px;line-height:1.5}@keyframes missionConfirm{0%{opacity:0;transform:translateY(5px);box-shadow:0 0 0 rgba(82,224,196,0)}55%{box-shadow:0 0 32px rgba(82,224,196,.18)}100%{opacity:1;transform:none}}.mission-prompt{display:grid;gap:9px;padding:13px;border:1px solid var(--line);background:#0c1217}.mission-prompt>b,.division-controls>b{color:var(--sim-warm);font:9px var(--mono);letter-spacing:.08em}.mission-prompt p,.division-controls p{margin:0;color:#b6c5c7;font-size:11px;line-height:1.5}.hold-gate{position:absolute;z-index:30;left:50%;top:48%;width:min(460px,88%);transform:translate(-50%,-50%);display:grid;gap:10px;padding:24px;border:1px solid var(--sim-red);background:rgba(28,8,10,.96);box-shadow:0 25px 70px rgba(0,0,0,.62)}.hold-gate b{color:var(--sim-red);font:12px var(--mono);letter-spacing:.16em}.hold-gate strong{font-size:21px}.hold-gate button{justify-self:start;padding:11px 14px;border:1px solid var(--sim-red);background:transparent;color:#ffd2ce;font:9px var(--mono);cursor:pointer}.hold-gate.static{position:relative;left:auto;top:auto;transform:none;margin:10vh auto}.sim-chapter{position:relative}

.b1-guided-cta{position:relative;isolation:isolate;box-shadow:0 0 0 0 rgba(219,232,111,.32),0 12px 30px rgba(0,0,0,.28)!important;animation:s04GuidedBreath 1.8s ease-in-out infinite!important}@keyframes s04GuidedBreath{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(219,232,111,.28),0 12px 30px rgba(0,0,0,.28)}50%{transform:scale(1.018);box-shadow:0 0 0 9px rgba(219,232,111,0),0 16px 38px rgba(0,0,0,.38)}}

.position-world.supine .sim-table{border-color:#81979d}.position-world.head-up.right-up .sim-table{border-color:var(--sim-teal);box-shadow:0 22px 34px rgba(0,0,0,.45),0 0 0 3px rgba(82,224,196,.12)}.position-consequence{border-width:3px;background:radial-gradient(circle at 60% 34%,rgba(150,184,118,.22),transparent 24%),linear-gradient(145deg,#5b3033,#2e1d22)}.position-consequence i{position:relative;width:118px;height:150px;background:linear-gradient(135deg,#839b65,#526442);border:2px solid rgba(225,238,207,.26);box-shadow:inset 12px 0 20px rgba(255,255,255,.06),0 18px 24px rgba(0,0,0,.28)}.position-consequence i:after{content:'';position:absolute;width:34px;height:55px;right:-18px;bottom:8px;border-radius:55% 45% 40% 45%;background:#6d8154;border:2px solid rgba(225,238,207,.22)}.position-consequence span{font-size:9px;max-width:78%;line-height:1.45}.position-controls .sim-action{min-height:52px}.position-controls .sim-action:first-child{grid-column:auto}

.lap-field{background:radial-gradient(ellipse at 56% 48%,#8a504a 0,#542f34 45%,#26181d 100%);box-shadow:inset 0 0 70px rgba(0,0,0,.44)}.lap-field .liver{overflow:visible;background:linear-gradient(160deg,#8b504b,#633538 66%,#48252a);border:2px solid rgba(241,171,159,.18);box-shadow:inset 0 15px 25px rgba(255,255,255,.04),0 16px 30px rgba(0,0,0,.3)}.cystic-plate-shadow,.cystic-plate{position:absolute;display:block;width:116px;height:77px;left:51%;top:66%;border:2px dashed rgba(130,183,197,.44);border-radius:50% 46% 42% 50%;background:rgba(130,183,197,.08);transform:rotate(-14deg);transition:.45s}.exposure-field{height:430px}.exposure-field .gallbladder,.dissect-field .gallbladder,.divide-field .gallbladder,.liverbed-field .gallbladder{position:absolute;width:126px;height:224px;left:54%;top:24%;z-index:5;background:none;border:0;transform-origin:44% 18%;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s}.gallbladder .gb-fundus,.gallbladder .gb-body,.gallbladder .gb-neck{position:absolute;display:block;background:linear-gradient(110deg,#819766,#5f744c 56%,#43563b);border:2px solid rgba(204,224,179,.25);box-shadow:inset 10px 2px 15px rgba(255,255,255,.06),0 10px 20px rgba(0,0,0,.2)}.gallbladder .gb-fundus{width:84px;height:86px;left:18px;top:0;border-radius:52% 48% 42% 46%}.gallbladder .gb-body{width:75px;height:116px;left:24px;top:58px;border-radius:38% 42% 48% 44%;transform:rotate(-3deg)}.gallbladder .gb-neck{width:48px;height:75px;left:45px;top:150px;border-radius:40% 48% 55% 38%;transform:rotate(19deg);transform-origin:top;transition:.5s}.exposure-field .gallbladder b,.exposure-field .gallbladder em{z-index:3;padding:4px 6px;background:rgba(9,14,15,.82);font-size:9px}.exposure-field .gallbladder b{left:18px;top:18px}.exposure-field .gallbladder em{left:56px;bottom:6px;width:145px}.exposure-field.fundus-up .gallbladder{transform:translateY(-58px) rotate(-4deg)}.exposure-field.fundus-down .gallbladder{transform:translateY(28px) rotate(6deg);filter:brightness(.72)}.exposure-field.neck-lateral .gallbladder .gb-neck{transform:translate(38px,20px) rotate(46deg)}.exposure-field.neck-medial .gallbladder .gb-neck{transform:translate(-24px,-3px) rotate(-12deg)}.exposure-field.fundus-up.neck-lateral .gallbladder{transform:translate(18px,-58px) rotate(-6deg)}.exposure-field.fundus-up.neck-lateral .exposure-triangle{width:144px;height:116px;left:48%;top:50%;opacity:1;transform:scale(1.05);border-width:3px;background:rgba(82,224,196,.07)}.exposure-field.fundus-down .exposure-triangle,.exposure-field.neck-medial .exposure-triangle{opacity:.04;transform:scale(.7)}.fundus-grasper,.neck-grasper{position:absolute;width:12px;height:260px;z-index:7;background:linear-gradient(90deg,#78858a,#e2e8eb,#69767a);box-shadow:0 0 0 1px #56646a;transform-origin:bottom;transition:.5s}.fundus-grasper{left:59%;top:-172px;rotate:-10deg}.neck-grasper{right:23%;bottom:-175px;rotate:43deg}.fundus-grasper:after,.neck-grasper:after{content:'';position:absolute;left:-6px;bottom:-8px;width:24px;height:18px;border:3px solid var(--sim-metal);border-top:0;clip-path:polygon(0 0,44% 70%,50% 0,56% 70%,100% 0,62% 100%,38% 100%)}.exposure-field.fundus-up .fundus-grasper{transform:translateY(-25px)}.exposure-field.neck-lateral .neck-grasper{transform:translate(-32px,17px) rotate(10deg)}.traction-vector{position:absolute;z-index:8;opacity:0;color:var(--sim-warm);font:9px var(--mono);transition:.4s}.traction-vector i{display:block;width:5px;height:82px;background:var(--sim-warm);box-shadow:0 0 14px rgba(219,232,111,.36)}.traction-vector i:before{content:'';position:absolute;width:16px;height:16px;border-left:5px solid var(--sim-warm);border-top:5px solid var(--sim-warm);transform:rotate(45deg);left:-6px;top:0}.traction-vector b{position:absolute;white-space:nowrap;padding:4px 6px;background:#111512}.fundus-vector{left:70%;top:8%}.fundus-vector b{left:12px;top:8px}.neck-vector{left:70%;top:60%;rotate:58deg}.neck-vector b{left:10px;top:38px;rotate:-58deg}.exposure-field.fundus-up .fundus-vector,.exposure-field.neck-lateral .neck-vector{opacity:1}.lap-field>span{font-size:9px;letter-spacing:.05em}.traction-controls span{font-size:9px}.traction-controls button{font-size:11px;font-weight:650}.traction-controls button.sim-next{color:#12150c;background:var(--sim-warm)}

.dissect-work{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.72fr);gap:10px}.dissect-field{height:440px}.dissect-field .gallbladder{left:55%;top:17%;transform:translate(10px,-24px) rotate(-6deg)}.dissect-field .gallbladder .gb-neck{transform:translate(35px,18px) rotate(44deg)}.dissect-field .cystic-plate{opacity:0;left:47%;top:61%;z-index:2}.peritoneal-veil{position:absolute;z-index:8;width:185px;height:115px;left:45%;top:50%;border:2px solid rgba(255,215,183,.28);border-radius:50%;background:linear-gradient(135deg,rgba(222,174,146,.72),rgba(104,65,60,.78));transition:.45s}.triangle-tissue{position:absolute;z-index:7;width:170px;height:130px;left:43%;top:47%;background:radial-gradient(circle at 30% 30%,#b58d69 0 8px,transparent 9px),radial-gradient(circle at 65% 45%,#9e765d 0 10px,transparent 11px),linear-gradient(135deg,#8c654f,#5e403a);clip-path:polygon(42% 0,100% 100%,0 100%);opacity:.88;transition:.5s}.common-orientation{position:absolute;z-index:2;width:20px;height:178px;left:43%;top:57%;border-radius:12px;background:#96a9a7;transform:rotate(17deg);opacity:.26}.common-orientation b{position:absolute;left:-82px;bottom:-24px;width:180px;color:#aab7b5;font:8px var(--mono);font-style:normal}.dissect-field.retracted .gallbladder{transform:translate(20px,-40px) rotate(-8deg)}.dissect-field.opened .peritoneal-veil{transform:scaleX(.25) translateX(-95px);opacity:.22;border-color:var(--sim-teal)}.dissect-field.cleared .triangle-tissue{opacity:.12;transform:scale(.65);filter:grayscale(.6)}.dissect-field.plate .gallbladder{transform:translate(38px,-54px) rotate(-12deg)}.dissect-field.plate .gallbladder .gb-neck{transform:translate(52px,30px) rotate(51deg)}.dissect-field.plate .cystic-plate{opacity:1;box-shadow:0 0 26px rgba(130,183,197,.18)}.dissect-field.revealed .common-orientation{opacity:.22}.structure,.divide-structure{position:absolute;z-index:14;width:190px;height:44px;padding:0;border:0;background:transparent;color:#d9e3e0;font:9px var(--mono);cursor:pointer;text-align:left}.structure i,.divide-structure i{position:absolute;display:block;left:0;top:16px;width:108px;height:12px;border:3px solid rgba(218,227,225,.55);border-radius:10px;background:#a8b2a9;box-shadow:0 7px 13px rgba(0,0,0,.28);transition:.35s}.structure span,.divide-structure span{position:absolute;left:116px;top:12px;white-space:nowrap;padding:4px 6px;background:rgba(8,12,15,.86)}.structure.duct,.divide-structure.duct{left:46%;top:68%;transform:rotate(18deg)}.structure.duct span,.divide-structure.duct span{transform:rotate(-18deg)}.structure.artery,.divide-structure.artery{left:51%;top:57%;transform:rotate(-14deg)}.structure.artery span,.divide-structure.artery span{transform:rotate(14deg)}.structure:hover i,.divide-structure:hover i,.structure.selected i,.divide-structure.selected i{border-color:var(--sim-warm);box-shadow:0 0 0 7px rgba(219,232,111,.1)}.structure.duct.identified i{background:var(--sim-duct);border-color:#b8f6d2;animation:ductReveal .65s ease 2}.structure.duct.identified span{color:var(--sim-duct)}.structure.artery.identified i{background:var(--sim-artery);border-color:#ffc0bd;animation:arteryReveal .65s ease 2}.structure.artery.identified span{color:var(--sim-artery)}@keyframes ductReveal{50%{box-shadow:0 0 0 11px rgba(98,217,147,.16),0 0 24px rgba(98,217,147,.5)}}@keyframes arteryReveal{50%{box-shadow:0 0 0 11px rgba(255,111,106,.14),0 0 24px rgba(255,111,106,.52)}}.cvs-window{width:180px;height:145px;left:43%;top:46%;border-width:3px;background:rgba(82,224,196,.07)}.dissect-field.cvs .cvs-window{opacity:1;animation:missionConfirm .7s ease}.dissect-actions{display:grid;align-content:start;gap:10px;margin:0}.dissect-actions .danger-attempt{margin-top:8px}.danger-attempt{font-size:9px}.cvs-status{margin-top:10px}.cvs-status span{display:flex;align-items:flex-start;gap:8px;min-height:62px;padding:10px;font-size:9px;line-height:1.45}.cvs-status span b{font-size:14px;line-height:1}.cvs-status .done{background:rgba(82,224,196,.065)}

.critical-view-banner{padding:10px;border-left:3px solid var(--sim-teal);background:rgba(82,224,196,.07);color:var(--sim-teal);font:10px var(--mono)}.division-controls{gap:10px}.division-controls>small{color:var(--sim-muted);font:8px/1.5 var(--mono)}.instrument-bank{display:grid;grid-template-columns:1fr 1fr;gap:7px}.instrument-bank button{min-height:104px;padding:10px;border:1px solid var(--line);background:#10171d;color:var(--ink);cursor:pointer;display:grid;place-items:center;gap:8px}.instrument-bank button.sim-next{border-color:var(--sim-warm);animation:simPulse 1.65s infinite}.instrument-bank button.selected{border-color:var(--sim-teal);background:rgba(82,224,196,.07)}.instrument-bank span{font:9px var(--mono)}.clipper-icon,.shears-icon{position:relative;width:70px;height:15px;background:linear-gradient(90deg,#6c777c,#dce4e7,#748087);transform:rotate(-18deg)}.clipper-icon:after{content:'';position:absolute;right:-12px;top:-7px;width:18px;height:25px;border:4px solid var(--sim-metal);border-left:0}.shears-icon:before,.shears-icon:after{content:'';position:absolute;right:-22px;top:-5px;width:28px;height:4px;background:var(--sim-metal);transform-origin:left}.shears-icon:before{transform:rotate(24deg)}.shears-icon:after{transform:rotate(-24deg)}.divide-field{height:390px}.divide-field .gallbladder{left:54%;top:16%;transform:translate(30px,-48px) rotate(-10deg)}.divide-field .gallbladder .gb-neck{transform:translate(50px,28px) rotate(50deg)}.divide-field .cystic-plate{opacity:1;left:47%;top:61%}.divide-field .common-orientation{opacity:.2}.divide-structure.controlled i{box-shadow:0 0 0 5px rgba(127,167,255,.14)}.divide-structure.divided i{background:linear-gradient(90deg,#a8b2a9 0 42%,transparent 43% 58%,#a8b2a9 59%);border-color:transparent;box-shadow:none}.clip-mark{position:absolute;z-index:17;width:28px;height:10px;border:3px solid var(--sim-blue);border-radius:3px;transform:rotate(18deg);box-shadow:0 0 15px rgba(127,167,255,.28)}.clip-mark.duct.proximal{left:53%;top:73%}.clip-mark.duct.distal{left:59%;top:76%}.clip-mark.artery{transform:rotate(-14deg)}.clip-mark.artery.proximal{left:57%;top:61%}.clip-mark.artery.distal{left:62%;top:59%}.lap-tool{position:absolute;z-index:19;display:block;width:15px;height:315px;right:13%;bottom:-185px;background:linear-gradient(90deg,#6e7b80,#e1e7ea,#657177);transform:rotate(44deg);transform-origin:bottom;animation:toolEnter .45s ease both}.lap-tool:after{content:'';position:absolute;left:-9px;top:-15px;width:33px;height:24px;border:4px solid var(--sim-metal);border-bottom:0}.lap-tool.endoshears:before,.lap-tool.endoshears:after{content:'';position:absolute;left:1px;top:-25px;width:42px;height:5px;border:0;background:var(--sim-metal);transform-origin:left}.lap-tool.endoshears:before{transform:rotate(25deg)}.lap-tool.endoshears:after{transform:rotate(-25deg)}@keyframes toolEnter{from{transform:translate(120px,120px) rotate(44deg)}to{transform:rotate(44deg)}}.cut-site{position:absolute;z-index:22;width:48px;height:48px;border-radius:50%;font:8px var(--mono);cursor:pointer}.cut-site.correct{border:2px solid var(--sim-warm);background:var(--sim-warm);color:#0b1010;animation:simPulse 1.3s infinite}.cut-site.wrong{border:1px solid var(--sim-red);background:rgba(231,125,108,.12);color:var(--sim-red)}.cut-site.duct.correct{left:58%;top:71%}.cut-site.duct.wrong{left:46%;top:81%}.cut-site.artery.correct{left:60%;top:54%}.cut-site.artery.wrong{left:47%;top:48%}.liverbed-field .gallbladder{left:54%;top:17%}

@media(max-width:760px){.sim-header{grid-template-columns:108px 1fr auto;gap:6px}.sim-home{width:105px}.sim-nav{grid-column:2}.sim-nav button{min-width:52px;padding:7px 5px;font-size:6px}.sim-tools{grid-column:3}.sim-tools button{font-size:6px}.sim-footer{font-size:8px}.sim-chapter>p{font-size:12px}.sim-kicker{font-size:8px}.position-controls .sim-action{font-size:9px}.position-controls .sim-action:nth-child(2){grid-column:1/-1}.mission-cue b{font-size:9px}.mission-cue span{font-size:10px}.exposure-field{height:430px}.exposure-field .gallbladder{left:42%;top:27%;transform:scale(.84);transform-origin:center}.exposure-field.fundus-up .gallbladder{transform:translateY(-44px) scale(.84)}.exposure-field.fundus-down .gallbladder{transform:translateY(22px) scale(.84)}.exposure-field.fundus-up.neck-lateral .gallbladder{transform:translate(8px,-44px) rotate(-6deg) scale(.84)}.fundus-grasper{left:55%}.neck-grasper{right:8%}.fundus-vector{left:72%}.neck-vector{left:65%}.dissect-work{grid-template-columns:1fr}.dissect-field{height:430px}.dissect-field .gallbladder{left:42%;transform:translate(8px,-22px) rotate(-6deg) scale(.82)}.dissect-field.retracted .gallbladder{transform:translate(12px,-34px) rotate(-8deg) scale(.82)}.dissect-field.plate .gallbladder{transform:translate(18px,-44px) rotate(-12deg) scale(.82)}.structure,.divide-structure{width:150px}.structure i,.divide-structure i{width:78px}.structure span,.divide-structure span{left:84px;font-size:7px}.structure.duct,.divide-structure.duct{left:37%}.structure.artery,.divide-structure.artery{left:43%}.cvs-status span{min-height:0;font-size:8px}.division-work{grid-template-columns:1fr}.divide-field{height:390px}.divide-field .gallbladder{left:40%;transform:translate(15px,-38px) rotate(-10deg) scale(.8)}.instrument-bank button{min-height:85px}.lap-tool{right:2%}.completion-world{grid-template-columns:1fr}.hold-gate strong{font-size:17px}}

/* Sprint 04: keep the operative consequence and the next action visible together. */
@media(min-width:761px){
  .position-world{height:235px}
  .position-world .sim-table{top:5px;scale:.64;transform-origin:top center}
  .position-consequence{width:230px;height:145px;top:32px}
  .position-consequence i{width:78px;height:101px}
  .position-controls .sim-action{min-height:48px}
  .exposure-field{height:270px}
  .exposure-field .gallbladder{scale:.78;top:20%}
  .exposure-field.fundus-up .gallbladder{transform:translateY(-44px) rotate(-4deg)}
  .exposure-field.fundus-down .gallbladder{transform:translateY(22px) rotate(6deg)}
  .exposure-field.fundus-up.neck-lateral .gallbladder{transform:translate(18px,-44px) rotate(-6deg)}
  .fundus-grasper,.neck-grasper{height:220px}
  .fundus-grasper{top:-150px}
  .neck-grasper{bottom:-148px}
  .traction-vector i{height:70px}
  .dissect-field{height:240px}
  .dissect-field .gallbladder{scale:.82;top:12%}
  .divide-field{height:300px}
  .divide-field .gallbladder{scale:.82;top:12%}
  .divide-structure.divided{opacity:.75;text-decoration:none}
}

/* One continuous original technical silhouette replaces segmented placeholder anatomy. */
.gallbladder:before,.gallbladder:after{content:'';position:absolute;display:block;background:linear-gradient(115deg,#879d6b 0,#657b50 52%,#41543a 100%);border:2px solid rgba(215,231,192,.27);box-shadow:inset 12px 2px 18px rgba(255,255,255,.065),0 12px 24px rgba(0,0,0,.22);transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .4s}
.gallbladder:before{z-index:1;width:86px;height:178px;left:17px;top:1px;border-radius:54% 48% 38% 43% / 31% 34% 66% 69%;transform:rotate(-3deg)}
.gallbladder:after{z-index:2;width:49px;height:88px;left:55px;top:139px;border-radius:48% 44% 58% 38% / 34% 38% 64% 58%;transform:rotate(27deg);transform-origin:18px 9px}
.gallbladder .gb-fundus,.gallbladder .gb-body,.gallbladder .gb-neck{opacity:0!important}
.lap-tool{pointer-events:none}
.divide-structure{z-index:21}
.exposure-field.neck-lateral .gallbladder:after{transform:translate(18px,12px) rotate(43deg)}
.exposure-field.neck-medial .gallbladder:after{transform:translate(-14px,-2px) rotate(-8deg)}
.dissect-field .gallbladder:after,.divide-field .gallbladder:after{transform:translate(18px,12px) rotate(43deg)}
.liverbed-field .gallbladder:after{transform:translate(12px,8px) rotate(36deg)}

@media(max-width:760px){
  .position-world{height:250px}
  .position-world .sim-table{left:calc(32% - 85px);top:8px;scale:.52;transform-origin:top center}
  .position-consequence{width:42%;height:130px;right:4%;top:44px}
  .position-consequence i{width:62px;height:84px}
  .position-controls .sim-action{min-height:44px}
  .exposure-field{height:280px}
  .dissect-field{height:260px}
  .divide-field{height:260px}
}

/* Final fidelity overrides (kept last so the established prototype layers remain stable). */
.sim-tools #simElapsed{align-self:center;padding:6px 8px;border:1px solid rgba(127,167,255,.25);color:var(--sim-blue);font:7px var(--mono);white-space:nowrap}
.clip-jaws{left:-7px!important;top:-22px!important;width:25px!important;height:28px!important;border:3px solid #d9e3e5!important;border-bottom:0!important;border-radius:10px 10px 0 0!important;transform:rotate(90deg)!important;clip-path:none!important;background:transparent!important}
.dissect-instruments{grid-template-columns:repeat(4,1fr)!important}.dissect-field.tool-grasper .tool-effect{opacity:1;width:14px;clip-path:polygon(0 0,42% 0,48% 76%,20% 100%,46% 82%,54% 82%,80% 100%,52% 76%,58% 0,100% 0)}
.liverbed-field.energy-ready .release-instrument{filter:drop-shadow(0 0 8px rgba(255,189,89,.7))}.bed-fluid-tool{position:absolute;z-index:17;width:18px;height:220px;right:11%;bottom:-100px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#6e7e84,#dfe8e9,#5e6b70);transform:rotate(48deg);animation:fluidToolMove .45s ease both}@keyframes fluidToolMove{from{transform:translate(80px,90px) rotate(48deg)}to{transform:translate(0,0) rotate(48deg)}}
.post-chole-field:after{content:'';position:absolute;z-index:3;left:26%;right:20%;bottom:8%;height:38px;border-radius:50%;background:rgba(87,151,174,.3);transform:skewX(-17deg)}
@media(max-width:760px){.sim-tools #simElapsed{grid-column:1/-1;justify-self:end;padding:3px 5px;font-size:6px}.dissect-instruments{grid-template-columns:1fr 1fr!important}}

/* Pilot Sprint 01 — objective → act → feedback → success → advance. */
.mission-objective{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 12px;margin:0 0 12px;padding:11px 13px;border:1px solid rgba(127,167,255,.42);border-left:5px solid var(--sim-blue);background:linear-gradient(90deg,rgba(127,167,255,.12),rgba(8,14,18,.92));box-shadow:0 12px 30px rgba(0,0,0,.18)}
.mission-objective>span{grid-row:1/3;padding:5px 7px;border:1px solid rgba(127,167,255,.35);color:var(--sim-blue);font:7px var(--mono);letter-spacing:.14em}.mission-objective>b{font:800 13px/1.25 var(--mono);letter-spacing:.035em;color:#edf5f3}.mission-objective>em{grid-column:2;color:#93a8aa;font:8px var(--mono);font-style:normal}.mission-objective>strong{grid-column:3;grid-row:1/3;max-width:250px;padding:8px 10px;border:1px solid rgba(219,232,111,.5);background:rgba(219,232,111,.08);color:var(--sim-warm);font:8px/1.45 var(--mono);text-align:right}.mission-objective.complete{border-color:rgba(82,224,196,.58);border-left-color:var(--sim-teal);background:linear-gradient(90deg,rgba(82,224,196,.13),rgba(8,18,17,.92))}.mission-objective.complete>span,.mission-objective.complete>strong{border-color:rgba(82,224,196,.5);color:var(--sim-teal)}

/* The current action is singular; alternative choices remain available without competing pulses. */
.access-choice button.sim-next{background:linear-gradient(145deg,rgba(219,232,111,.12),#10171c 55%)}
.port-world.token-selected .port-drop-zone:not(.placed){border-color:rgba(127,167,255,.48);background:rgba(20,33,44,.28)}.port-world.token-selected .port-drop-zone:not(.placed) i{border-color:rgba(127,167,255,.7)}.port-world.token-selected .port-drop-zone.correct-target{border-color:var(--sim-warm)!important;background:rgba(219,232,111,.1)!important}.port-world.token-selected .port-drop-zone.correct-target i{border-color:var(--sim-warm)}
.instrument-bank.decision-open{padding:7px;border:2px solid var(--sim-warm);background:rgba(219,232,111,.045);box-shadow:0 0 0 0 rgba(219,232,111,.2);animation:simPulse 1.65s infinite}.instrument-bank.decision-open:before{content:'CHOOSE AN INSTRUMENT';grid-column:1/-1;color:var(--sim-warm);font:8px var(--mono);letter-spacing:.1em}

/* Orientation remains a map, not a red overlay. */
.orientation-field{background:radial-gradient(ellipse at 56% 42%,#28372d 0 16%,#231b18 43%,#090d0e 78%)}.orientation-field .liver{background:linear-gradient(155deg,#6e3d34,#2d1b18)}.orientation-landmark{min-width:148px;min-height:54px;font-size:9px;line-height:1.35}.orientation-landmark span{display:inline-block}.danger-zone{border-color:rgba(255,189,89,.55);background:linear-gradient(rgba(255,189,89,.02),rgba(255,189,89,.09));color:var(--sim-amber)}.cystic-duct-region b,.arterial-region b,.common-hepatic-region b,.common-bile-region b{font-size:8px!important;line-height:1.3}.safe-plane span{padding:4px 6px;background:rgba(5,12,12,.88);font-size:8px}.orientation-findings span{font-size:8px;line-height:1.4}

/* Control and divide is now anchored directly to the acted-on structure. */
.divide-structure.sim-next{animation:none!important;box-shadow:none!important}.divide-structure.sim-next i{border-color:var(--sim-warm);box-shadow:0 0 0 8px rgba(219,232,111,.12),0 0 24px rgba(219,232,111,.3);animation:structureTarget 1.45s ease-in-out infinite}@keyframes structureTarget{50%{box-shadow:0 0 0 13px rgba(219,232,111,0),0 0 28px rgba(219,232,111,.42)}}
.control-site{width:42px;height:42px;border-width:3px;background:rgba(13,21,20,.96);font-size:11px;box-shadow:0 0 0 5px rgba(219,232,111,.08)}.clip-mark{width:31px;height:12px;border-width:3px;background:rgba(127,167,255,.08);box-shadow:0 0 16px rgba(127,167,255,.45)}.clip-mark:before,.clip-mark:after{content:'';position:absolute;top:1px;width:6px;height:5px;border-top:2px solid var(--sim-blue)}.clip-mark:before{left:2px;transform:rotate(20deg)}.clip-mark:after{right:2px;transform:rotate(-20deg)}.cut-site.correct{min-width:112px;min-height:54px;border-width:3px;box-shadow:0 0 0 7px rgba(219,232,111,.1)}.division-controls>p{margin:0;padding:9px 10px;border-left:3px solid var(--sim-blue);background:rgba(127,167,255,.06);color:#cbd8d6;font-size:11px;line-height:1.45}.trajectory-choices button.sim-next{background:var(--sim-warm);color:#0a100c;font-weight:800}

/* IOC actions drive an obvious fluoroscopic transformation. */
.ioc-panel.active>span{display:block;margin-bottom:9px;color:#dbe8ff;font-size:10px;letter-spacing:.08em}.ioc-visual{border-width:2px!important;background:radial-gradient(circle at 50% 48%,#263946,#0c151b 72%)!important}.ioc-visual>b{max-width:70%;font-size:9px!important;line-height:1.4;text-align:right}.ioc-visual .contrast{transition:opacity .35s,box-shadow .35s,transform .45s}.ioc-visual.s7 .contrast,.ioc-visual.s8 .contrast{animation:contrastFill .75s ease both}@keyframes contrastFill{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:none}}.fluoro-map{animation:fluoroReveal .55s ease both}@keyframes fluoroReveal{from{filter:grayscale(1) brightness(.15);opacity:.25}to{filter:grayscale(1);opacity:1}}.ioc-finding{min-height:38px;font-size:7px}.ioc-finding.sim-next{color:#10140d;background:var(--sim-warm)}
.mission-complete .xp-score{display:none}.mission-complete .chapter-proof{grid-template-columns:repeat(3,1fr);margin:16px 0 20px}.mission-complete .chapter-proof span{min-height:50px;align-content:center;font-size:8px;line-height:1.35}
.removal-port.p0{left:auto;top:auto}.removal-port.p1{left:auto;bottom:auto}.removal-port.p2{right:auto;bottom:auto}.removal-port.p3{right:auto;bottom:auto}

@media(min-width:761px){.sim-stage{padding:14px clamp(18px,3vw,38px)}.position-chapter h1{margin:4px 0;font-size:40px}.position-chapter>p{margin:4px 0 7px}.position-chapter .role-band{margin:5px 0 7px;padding:5px 8px}.position-chapter .position-world{height:195px}.position-chapter .position-world .sim-table{top:2px;scale:.54}.position-chapter .position-consequence{height:118px;top:28px}.position-chapter .decision-label{padding:6px 8px}.position-chapter .position-controls{margin-top:5px}.position-chapter .position-controls .sim-action{min-height:43px;padding:8px}}

@media(max-width:760px){.mission-objective{grid-template-columns:auto 1fr;gap:5px 8px;padding:8px;margin-bottom:9px}.mission-objective>span{grid-row:1/3}.mission-objective>b{font-size:10px}.mission-objective>em{font-size:6px}.mission-objective>strong{grid-column:1/-1;grid-row:auto;max-width:none;text-align:left;font-size:7px}.orientation-landmark{min-width:102px;min-height:48px;font-size:7px}.instrument-bank.decision-open:before{font-size:7px}.cut-site.correct{min-width:96px;min-height:48px}.mission-complete .chapter-proof{grid-template-columns:1fr 1fr}}

/* Sprint 05 — live mission system. Original CSS/SVG-style technical visuals only. */
.guided-strip{grid-template-columns:minmax(0,1fr) minmax(340px,440px) auto;padding:22px 24px;border-color:rgba(219,232,111,.48);background:linear-gradient(105deg,rgba(219,232,111,.12),rgba(8,14,15,.97) 58%);box-shadow:0 18px 48px rgba(0,0,0,.28)}
.guided-strip #startGuidedCase{min-height:76px;padding:13px 24px;font-size:13px;letter-spacing:.1em;box-shadow:inset 0 -5px rgba(0,0,0,.1),0 18px 34px rgba(0,0,0,.28)!important}
.guided-strip #startGuidedCase:before{content:'GUIDED MISSION';display:block;margin-bottom:5px;font:7px var(--mono);letter-spacing:.18em;opacity:.65}
.guided-case-active .prep-timer.guided-timer{z-index:340;right:18px;bottom:58px;left:auto;top:auto;transform:none;transition:left .8s cubic-bezier(.2,.8,.2,1),right .8s cubic-bezier(.2,.8,.2,1),top .8s cubic-bezier(.2,.8,.2,1),bottom .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.guided-case-active .prep-timer.b1-timer-launch{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%) scale(2.35);box-shadow:0 0 0 1px rgba(219,232,111,.55),0 24px 80px rgba(0,0,0,.72)}
.guided-case-active .prep-timer.b1-timer-docked{animation:s05TimerDock .6s ease both}
@keyframes s05TimerDock{0%{box-shadow:0 0 0 6px rgba(219,232,111,.14),0 20px 44px rgba(0,0,0,.48)}100%{box-shadow:0 12px 35px rgba(0,0,0,.28)}}
.prep-timer.minute-warning{animation:s05MinuteWarning 1.35s ease 1}.prep-timer.time-complete{animation:s05TimeComplete .8s ease 2;border-color:var(--sim-warm)}
@keyframes s05MinuteWarning{50%{border-color:var(--sim-warm);box-shadow:0 0 0 8px rgba(219,232,111,.09),0 12px 35px rgba(0,0,0,.32)}}
@keyframes s05TimeComplete{50%{transform:scale(1.045);box-shadow:0 0 0 10px rgba(219,232,111,.11),0 18px 45px rgba(0,0,0,.42)}}

.sim-continuity{position:relative;padding-bottom:11px}
.sim-micro{position:absolute;left:clamp(14px,3vw,44px);right:clamp(14px,3vw,44px);bottom:2px;height:2px;overflow:hidden;background:rgba(127,167,255,.12)}
.sim-micro i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--sim-blue),var(--sim-teal));transition:width .3s cubic-bezier(.2,.8,.2,1)}
.sim-stage{transition:background-color .25s ease,background-image .25s ease}
.sim-chapter{animation:none;transition:opacity .22s ease,transform .22s ease}
.sim-stage.chapter-entering .sim-chapter{animation:s05ChapterIn .28s cubic-bezier(.2,.8,.2,1) both}
.sim-stage.chapter-exiting .sim-chapter{opacity:.25;transform:translateY(-6px)}
@keyframes s05ChapterIn{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
.position-chapter:before,.prep-chapter:before,.access-chapter:before,.ports-chapter:before,.camera-chapter:before,.expose-chapter:before,.dissect-chapter:before,.divide-chapter:before,.complete-chapter:before{content:'';position:absolute;z-index:-1;inset:-14px;border:1px solid transparent;pointer-events:none}
.position-chapter:before{border-top-color:rgba(127,167,255,.34)}
.prep-chapter:before{border-top-color:rgba(82,224,196,.28)}
.access-chapter:before,.ports-chapter:before,.camera-chapter:before{border-top-color:rgba(219,232,111,.26)}
.expose-chapter:before,.dissect-chapter:before,.divide-chapter:before{border-top-color:rgba(255,189,89,.24)}
.complete-chapter:before{border-top-color:rgba(82,224,196,.34)}
.sim-chapter h1{max-width:900px;letter-spacing:-.035em}
.sim-kicker{letter-spacing:.16em}
.sim-footer span{font-size:9px;letter-spacing:.025em}
.sim-footer span[data-kind="correct"]:before{content:'✓ ';font-weight:800}
.sim-footer span[data-kind="pitfall"]:before{content:'△ ';font-weight:800}
.sim-footer span[data-kind="hold"]:before{content:'■ ';font-weight:800}
.lap-field{overflow:hidden;border:7px solid #020405;border-radius:42px;box-shadow:inset 0 0 95px rgba(0,0,0,.65),inset 0 0 0 1px rgba(231,240,235,.12),0 18px 45px rgba(0,0,0,.34)}
.camera-transition .inside-camera{box-shadow:inset 0 0 80px rgba(0,0,0,.72)}

.medial-plane,.lateral-plane{position:absolute;z-index:9;width:108px;height:3px;opacity:0;background:var(--sim-teal);box-shadow:0 0 14px rgba(82,224,196,.52);transition:opacity .35s,transform .45s}
.medial-plane{left:47%;top:57%;transform:rotate(28deg) scaleX(.25);transform-origin:left}
.lateral-plane{left:52%;top:53%;transform:rotate(-27deg) scaleX(.25);transform-origin:left}
.dissect-field.medial .medial-plane{opacity:.8;transform:rotate(28deg) scaleX(1)}
.dissect-field.lateral .lateral-plane{opacity:.8;transform:rotate(-27deg) scaleX(1)}
.dissect-field.medial.lateral .medial-plane,.dissect-field.medial.lateral .lateral-plane{background:var(--sim-plate)}
.divide-structure.duct i{background:var(--sim-duct);border-color:#b8f6d2}
.divide-structure.artery i{background:var(--sim-artery);border-color:#ffc0bd}
.divide-structure.duct span{color:var(--sim-duct)}
.divide-structure.artery span{color:var(--sim-artery)}
.structure.duct,.divide-structure.duct{top:70%}
.structure.artery,.divide-structure.artery{top:42%}
.clip-mark.artery.proximal{left:57%;top:51%}.clip-mark.artery.distal{left:62%;top:47%}
.cut-site.artery.correct{left:60%;top:44%}.cut-site.artery.wrong{left:47%;top:35%}
.control-site{position:absolute;z-index:24;width:34px;height:34px;border:2px solid var(--sim-warm);border-radius:50%;background:#131a18;color:var(--sim-warm);font:9px var(--mono);cursor:pointer}
.control-site.duct.proximal{left:52.5%;top:69.5%}.control-site.duct.distal{left:59%;top:73%}
.control-site.artery.proximal{left:56%;top:47%}.control-site.artery.distal{left:62%;top:44%}
.clip-mark{animation:s05ClipDeploy .25s cubic-bezier(.2,.9,.3,1) both}
@keyframes s05ClipDeploy{from{opacity:0;scale:1.8}to{opacity:1;scale:1}}
.cut-site.correct{width:58px;height:58px}
.divide-structure.divided i{transition:background .18s ease;animation:s05Divide .3s ease both}
@keyframes s05Divide{45%{filter:brightness(1.7);transform:scaleY(.65)}100%{filter:none}}
.mission-cue.compact{margin:0;padding:9px 11px}.mission-cue.compact b{font-size:9px}.mission-cue.compact span{font-size:9px}

.mission-complete{padding:clamp(24px,4vw,48px);border:1px solid rgba(82,224,196,.48);background:radial-gradient(circle at 50% 12%,rgba(82,224,196,.11),transparent 45%);text-align:center}
.mission-complete h1{margin:12px auto;max-width:860px;font-size:clamp(34px,5.2vw,68px)}
.mission-complete>p{max-width:680px;margin:0 auto 22px;color:#b9c9c8}
.chapter-proof{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:22px 0}
.chapter-proof span{display:grid;gap:6px;padding:11px 5px;border:1px solid rgba(82,224,196,.28);color:#b9ceca;font:7px var(--mono)}
.chapter-proof b{color:var(--sim-teal);font-size:15px}
.reliability-loop{display:block;margin:24px 0;color:var(--sim-warm);font:11px var(--mono);letter-spacing:.12em}
.mission-complete .debrief-grid{grid-template-columns:repeat(3,1fr);margin:18px 0}
.debrief-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px auto 14px;max-width:620px}
.debrief-actions .sim-action{margin:0;justify-content:center}.debrief-actions .primary{border-color:var(--sim-warm);background:var(--sim-warm);color:#0b1010;font-weight:800}

@media(max-width:760px){
  .guided-strip{grid-template-columns:1fr;padding:16px}.guided-strip #startGuidedCase{width:100%;min-height:68px;max-width:none}
  .guided-case-active .prep-timer.guided-timer{right:8px;bottom:57px}.guided-case-active .prep-timer.b1-timer-launch{transform:translate(-50%,-50%) scale(1.75)}
  .sim-continuity{display:block;height:5px;padding:0}.sim-continuity>span,.sim-continuity>i{display:none}.sim-micro{left:10px;right:10px;bottom:1px}
  .sim-stage{padding:12px 8px}.sim-chapter h1{font-size:32px}.sim-chapter>p{margin-bottom:12px}
  .lap-field{border-width:5px;border-radius:28px}
  .control-site.duct.proximal{left:44%;top:70%}.control-site.duct.distal{left:54%;top:74%}.control-site.artery.proximal{left:49%;top:47%}.control-site.artery.distal{left:59%;top:44%}
  .chapter-proof{grid-template-columns:repeat(4,1fr)}.chapter-proof span{font-size:6px;padding:8px 3px}.reliability-loop{font-size:8px;line-height:1.7}.mission-complete .debrief-grid{grid-template-columns:1fr 1fr}.debrief-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.sim-stage.chapter-entering .sim-chapter,.sim-stage.chapter-exiting .sim-chapter,.clip-mark,.b1-guided-cta,.sim-next{animation:none!important;transition:none!important}}

/* Guided fidelity sprint — focused interaction, review navigation, and mission feedback. */
.sim-chapter{box-sizing:border-box}.sim-chapter h1{font-size:clamp(28px,4vw,50px)}
.sim-action,.prep-hotspot,.access-choice button,.instrument-bank button,.traction-controls button{min-height:48px}
.sim-timeline button{min-height:34px;padding:6px 3px;border:0;border-top:3px solid var(--line);background:transparent;color:#596464;font:8px var(--mono);text-align:left;cursor:default}
.sim-timeline button.complete{border-color:var(--sim-teal);color:var(--sim-teal);cursor:pointer}.sim-timeline button.complete:hover,.sim-timeline button.complete:focus-visible{background:rgba(82,224,196,.07);outline:1px solid rgba(82,224,196,.35)}
.sim-timeline button.current{border-color:var(--sim-blue);color:var(--sim-blue);font-weight:800}.sim-timeline button.next{border-color:rgba(219,232,111,.38);color:var(--sim-warm)}.sim-timeline button:disabled{opacity:.48}
.review-ribbon{position:sticky;z-index:40;top:-1px;width:min(1040px,100%);display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border:1px solid rgba(127,167,255,.45);background:rgba(13,22,34,.96);color:var(--sim-blue);font:8px var(--mono)}.review-ribbon span{color:#a9b9c5}.sim-stage.reviewing .sim-chapter{opacity:.72}.sim-stage.reviewing .sim-next{animation:none!important}
.sim-success-burst{position:fixed;z-index:410;left:50%;top:116px;min-width:260px;max-width:min(620px,86vw);transform:translate(-50%,-8px);padding:12px 18px;border:1px solid rgba(82,224,196,.8);border-left:5px solid var(--sim-teal);background:rgba(7,25,23,.96);box-shadow:0 0 0 rgba(82,224,196,0);color:var(--sim-teal);font:10px var(--mono);text-align:center;opacity:0;pointer-events:none}.sim-success-burst.show{animation:fidelitySuccess .7s cubic-bezier(.2,.8,.2,1) both}@keyframes fidelitySuccess{0%{opacity:0;transform:translate(-50%,-8px);box-shadow:0 0 0 rgba(82,224,196,0)}28%,72%{opacity:1;transform:translate(-50%,0);box-shadow:0 0 34px rgba(82,224,196,.24)}100%{opacity:0;transform:translate(-50%,4px)}}
.guided-case-active .prep-timer.guided-timer{right:330px;top:10px;bottom:auto;min-width:104px;padding:7px 10px;background:rgba(7,12,15,.96)}.guided-case-active .prep-timer.guided-timer>span{font-size:6px}.guided-case-active .prep-timer.guided-timer>b{font-size:11px}

/* Entry incision: a purposeful linear slit replaces the previous answer dot. */
.access-world .entry-mark{width:42px;height:18px;left:calc(50% - 21px);top:43%;border:0;border-radius:0;background:transparent;opacity:0;transform:rotate(-5deg)}
.access-world.step-1 .entry-mark{opacity:1;border:1px dashed var(--sim-warm);border-radius:50%;background:transparent}
.access-world.step-2 .entry-mark,.access-world.step-3 .entry-mark,.access-world.step-4 .entry-mark,.access-world.step-5 .entry-mark{height:5px;top:45%;opacity:1;border:0;border-radius:4px;background:linear-gradient(#3a1319,#8c3e43 48%,#321016 52%);box-shadow:0 0 0 4px rgba(130,45,51,.14)}

/* Tabula-rasa port placement: select/drag a named token, then place it in a generous zone. */
.port-token-bank{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:8px}.port-token{min-height:56px;display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);background:#10171c;color:var(--ink);font:9px var(--mono);cursor:pointer}.port-token i{width:18px;height:18px;border:3px solid var(--sim-blue);border-radius:50%;box-shadow:inset 0 0 0 4px #10171c}.port-token.selected{border-color:var(--sim-warm);color:var(--sim-warm);background:rgba(219,232,111,.06)}.port-token.placed{border-color:var(--sim-teal);color:var(--sim-teal);opacity:.74}.port-token b{margin-left:auto;color:var(--sim-teal)}
.port-abdomen>.umbilicus{left:calc(50% - 12px);top:60%;opacity:.78}.port-drop-zone{position:absolute;z-index:12;width:76px;height:76px;transform:translate(-50%,-50%);border:1px solid transparent;border-radius:50%;background:transparent;color:white;cursor:default;opacity:0;pointer-events:none;transition:.2s}.port-world.token-selected .port-drop-zone:not(.placed){opacity:1;pointer-events:auto;cursor:pointer;border:2px dashed rgba(219,232,111,.55);background:rgba(10,15,17,.34)}.port-drop-zone i{display:block;width:12px;height:12px;margin:auto;border:2px solid rgba(219,232,111,.75);border-radius:50%}.port-drop-zone.placed{opacity:1;pointer-events:none;width:64px;height:64px;border:2px solid var(--sim-teal);background:rgba(82,224,196,.16)}.port-drop-zone.placed span{position:absolute;left:50%;top:calc(100% + 5px);transform:translateX(-50%);padding:3px 5px;background:rgba(6,10,12,.9);color:var(--sim-teal);font:7px var(--mono);white-space:nowrap}.port-drop-zone.placed b{color:var(--sim-teal);font-size:16px}.port-drop-zone.bad{opacity:1;pointer-events:auto;border-color:var(--sim-red)!important;background:rgba(231,125,108,.16)!important;box-shadow:0 0 0 8px rgba(231,125,108,.07)}

/* Operative-field legibility: connected anatomy, explicit orientation, and visible division. */
.divide-field .common-orientation{width:24px;height:152px;left:39%;top:54%;opacity:.38;border:2px solid rgba(193,214,214,.45);background:linear-gradient(#a9bebc,#617876)}.divide-field .common-orientation b,.divide-field .common-orientation span{position:absolute;left:-124px;width:132px;padding:3px 5px;background:rgba(8,12,15,.9);font-style:normal;font:8px var(--mono);text-align:right}.divide-field .common-orientation b{bottom:36px;color:#d3e2df}.divide-field .common-orientation span{bottom:13px;color:var(--sim-amber);font-size:6px}.divide-structure i{height:15px;border-width:3px}.divide-structure.divided{opacity:1;text-decoration:none}.divide-structure.divided i{background:linear-gradient(90deg,currentColor 0 36%,transparent 37% 64%,currentColor 65% 100%)!important;transform:scaleX(1.08)}.divide-structure.duct.divided i{color:var(--sim-duct)}.divide-structure.artery.divided i{color:var(--sim-artery)}.divide-field.target-duct .lap-tool.endoshears{right:15%;transform:rotate(51deg)}.divide-field.target-artery .lap-tool.endoshears{right:22%;transform:rotate(38deg)}.cut-site.correct{width:auto;min-width:88px;padding:6px;border-radius:24px;font-size:7px}

/* Three-region liver-bed plane with visible progressive separation and a recoverable deep-plane warning. */
.liverbed-work{grid-template-columns:1fr}.liverbed-field{height:390px}.liverbed-field .liver{height:58%;top:4%}.liverbed-field .gallbladder{left:54%;top:15%;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s}.gallbladder-fossa{position:absolute;width:170px;height:96px;left:48%;top:68%;border:2px dashed rgba(130,183,197,.7);border-radius:54% 42% 51% 39%;background:rgba(130,183,197,.12);transform:rotate(-13deg)}.liverbed-field .bed-plane{width:170px;height:7px;left:49%;top:57%;border-radius:5px;background:linear-gradient(90deg,var(--sim-teal) 0 33%,rgba(82,224,196,.18) 34%);box-shadow:0 0 16px rgba(82,224,196,.28);transition:.45s}.liverbed-field.bed-1 .bed-plane{background:linear-gradient(90deg,var(--sim-teal) 0 66%,rgba(82,224,196,.18) 67%)}.liverbed-field.bed-2 .bed-plane,.liverbed-field.bed-3 .bed-plane{background:var(--sim-teal)}.liverbed-field.bed-1 .gallbladder{transform:translate(18px,-22px) rotate(-6deg)}.liverbed-field.bed-2 .gallbladder{transform:translate(46px,-40px) rotate(-13deg)}.liverbed-field.bed-3 .gallbladder{transform:translate(118px,-86px) rotate(-24deg);filter:drop-shadow(0 0 10px rgba(82,224,196,.35))}.liverbed-field .traction-vector{display:block;width:5px;height:94px;left:69%;top:6%;opacity:.8;background:var(--sim-warm);box-shadow:0 0 14px rgba(219,232,111,.35)}.liverbed-field .traction-vector:before{content:'';position:absolute;left:-6px;top:0;width:14px;height:14px;border-left:5px solid var(--sim-warm);border-top:5px solid var(--sim-warm);transform:rotate(45deg)}.release-instrument{position:absolute;z-index:12;width:12px;height:240px;right:17%;bottom:-130px;background:linear-gradient(90deg,#727f84,#e1e8eb,#657277);transform:rotate(43deg);transform-origin:bottom}.bed-plane-target{position:absolute;z-index:24;left:12%;bottom:42px;min-width:270px;min-height:58px;padding:10px 14px;border:2px solid var(--sim-warm);background:rgba(13,18,17,.94);color:var(--sim-warm);text-align:left;cursor:pointer}.bed-plane-target b,.bed-plane-target span{display:block}.bed-plane-target b{font:10px var(--mono)}.bed-plane-target span{position:static;margin-top:5px;color:#c5d0c9;font:10px sans-serif}.deep-plane-zone{position:absolute;z-index:23;right:8%;top:58%;width:128px;height:65px;border:1px dashed rgba(231,125,108,.55);background:rgba(83,23,25,.22);color:var(--sim-red);cursor:pointer;opacity:.68}.deep-plane-zone span{position:static;font:8px var(--mono)}.liverbed-field.deep-warning{box-shadow:inset 0 0 80px rgba(231,125,108,.22),inset 0 0 0 3px var(--sim-red)}.liverbed-field.deep-warning .deep-plane-zone{opacity:1;background:rgba(231,125,108,.34)}

/* Specimen retrieval as a continuous in-field interaction. */
.completion-world{grid-template-columns:1fr}.final-field{height:420px}.final-field .liver{height:50%}.final-field .gallbladder{left:55%;top:25%;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s}.extraction-port{position:absolute;z-index:14;width:55px;height:24px;left:calc(50% - 28px);top:2%;border:4px solid var(--sim-blue);border-radius:50%;background:#111a21}.final-field .retrieval-bag{z-index:8;width:165px;height:185px;left:48%;top:37%;border:4px solid #99b6bd;border-radius:16px 16px 52% 52%;background:rgba(135,176,183,.07);opacity:0;transform:translate(180px,90px) scale(.55);transform-origin:top;transition:.55s cubic-bezier(.2,.8,.2,1)}.final-field .retrieval-bag:before{content:'';position:absolute;left:-6px;right:-6px;top:-8px;height:15px;border:4px solid #b5d2d7;border-radius:50%}.completion-world.step-1 .retrieval-bag{opacity:1;transform:none}.completion-world.step-2 .retrieval-bag{opacity:1;transform:scaleX(1.16)}.completion-world.step-2 .retrieval-bag:before{transform:scaleX(1.18)}.completion-world.step-3 .retrieval-bag{opacity:1;transform:scaleX(1.16)}.completion-world.step-3 .gallbladder{transform:translate(-4px,105px) scale(.7);z-index:9}.completion-world.step-4 .retrieval-bag{opacity:1;transform:scaleX(.88)}.completion-world.step-4 .gallbladder{transform:translate(-4px,105px) scale(.68);z-index:9}.completion-world.step-5 .retrieval-bag{opacity:0;transform:translate(0,-235px) scale(.38)}.completion-world.step-5 .gallbladder{opacity:0;transform:translate(-4px,-150px) scale(.3)}.completion-world.step-6 .retrieval-bag,.completion-world.step-6 .gallbladder,.completion-world.step-7 .retrieval-bag,.completion-world.step-7 .gallbladder{opacity:0}.extraction-target{position:absolute;z-index:24;left:50%;bottom:34px;transform:translateX(-50%);min-width:min(360px,78%);min-height:58px;padding:12px 16px;border:2px solid var(--sim-warm);background:rgba(12,17,17,.94);color:var(--sim-warm);font:9px var(--mono);cursor:pointer}.completion-actions{padding:9px 12px}.completion-actions small{color:var(--sim-muted);font:8px var(--mono);text-align:center}

.mission-score-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0}.mission-score-grid>div,.mission-review>div{padding:13px;border:1px solid var(--line);text-align:left}.mission-score-grid b,.mission-review b{display:block;color:var(--sim-muted);font:7px var(--mono)}.mission-score-grid span,.mission-review span{display:block;margin-top:7px;color:var(--sim-teal);font:14px var(--mono)}.mission-score-grid .completion-score{border-color:var(--sim-teal);background:rgba(82,224,196,.07)}.mission-review{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mission-review span{font-size:10px}.debrief-actions{max-width:840px;grid-template-columns:repeat(3,1fr)}

@media(max-width:760px){
  .sim-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.sim-header{grid-template-columns:96px 1fr auto;padding:7px 8px;gap:5px}.sim-home{width:92px;height:34px}.sim-nav{grid-column:2}.sim-tools{grid-column:3}.sim-tools #simCoach{display:none}.sim-tools button{min-height:36px;font-size:6px;padding:6px}.sim-nav button{min-height:36px;font-size:7px}.sim-case-id{display:none}
  .sim-timeline{overflow:visible;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:6px 8px}.sim-timeline button{min-width:0;min-height:28px;padding:4px 2px;font-size:6px;white-space:normal}.sim-timeline button:nth-child(n+5){margin-top:2px}
  .guided-case-active .prep-timer.guided-timer{right:8px;top:auto;bottom:52px;min-width:88px;padding:5px 7px}.guided-case-active .prep-timer.guided-timer>span{font-size:5px}.guided-case-active .prep-timer.guided-timer>b{font-size:9px}.guided-case-active .prep-timer.b1-timer-launch{top:50%!important;bottom:auto!important;transform:translate(-50%,-50%) scale(1.7)}
  .sim-success-burst{top:122px;min-width:220px;padding:10px;font-size:8px}.review-ribbon{position:relative;display:grid;font-size:7px}.sim-stage{overflow-x:hidden;padding:12px 8px}.sim-chapter h1{font-size:28px}.sim-chapter>p{font-size:13px}.sim-action{font-size:10px}.position-controls{grid-template-columns:1fr 1fr}.position-controls .sim-action{min-height:52px}.position-controls .sim-action:nth-child(2){grid-column:1/-1}
  .port-token-bank{grid-template-columns:1fr 1fr}.port-token{min-height:52px;font-size:8px}.port-world{height:650px;grid-template-rows:330px 310px}.port-drop-zone{width:66px;height:66px}.port-drop-zone.placed{width:56px;height:56px}.port-drop-zone.placed span{font-size:6px}.orientation-rule{font-size:8px}
  .divide-field .common-orientation{left:27%}.divide-field .common-orientation b,.divide-field .common-orientation span{left:-79px;width:85px;font-size:6px}.cut-site.correct{min-width:72px;font-size:6px}.liverbed-field{height:390px}.liverbed-field .gallbladder{left:38%;transform:scale(.82)}.liverbed-field.bed-1 .gallbladder{transform:translate(12px,-18px) rotate(-6deg) scale(.82)}.liverbed-field.bed-2 .gallbladder{transform:translate(32px,-34px) rotate(-13deg) scale(.82)}.liverbed-field.bed-3 .gallbladder{transform:translate(72px,-65px) rotate(-24deg) scale(.78)}.bed-plane-target{left:5%;min-width:68%;max-width:72%;font-size:8px}.deep-plane-zone{right:4%;width:84px}.gallbladder-fossa{left:38%;width:135px}
  .final-field{height:390px}.final-field .gallbladder{left:38%;transform:scale(.82)}.completion-world.step-3 .gallbladder,.completion-world.step-4 .gallbladder{transform:translate(-4px,93px) scale(.58)}.final-field .retrieval-bag{left:31%;width:150px}.extraction-target{min-width:82%;font-size:8px}.mission-score-grid{grid-template-columns:1fr 1fr}.mission-score-grid .completion-score{grid-column:1/-1}.mission-review{grid-template-columns:1fr}.debrief-actions{grid-template-columns:1fr}.mission-complete h1{font-size:30px}.mission-complete>p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sim-success-burst.show,.port-drop-zone,.liverbed-field .gallbladder,.final-field .retrieval-bag,.final-field .gallbladder{animation:none!important;transition:none!important}}

/* Clinical fidelity pass — original schematic UI, no source imagery reproduced. */
.guided-strip #startGuidedCase,.guided-strip #returnToPath{display:grid;gap:4px;text-align:left}.guided-strip #startGuidedCase:after{content:'Chronological operative rehearsal';font:6px var(--mono);font-weight:400;opacity:.72}.guided-strip #returnToPath:after{content:'Inspect the room without advancing the case';font:6px var(--mono);opacity:.7}
.sim-nav #simForward{white-space:nowrap}.sim-timeline button.reviewing{outline:2px solid var(--sim-warm);outline-offset:-2px}.sim-timeline button.mission-current{box-shadow:inset 0 -3px var(--sim-blue)}.review-ribbon{border-left-color:var(--sim-warm)!important;background:linear-gradient(90deg,rgba(219,232,111,.13),rgba(8,12,14,.72))!important}

/* Port geometry: external handles and internal trajectories are coupled. */
.external-handle{position:absolute;z-index:8;width:9px;height:116px;border-radius:8px;background:linear-gradient(90deg,#6e7d82,#e3ecee,#5b686d);transform-origin:bottom;box-shadow:0 0 0 1px #263238}.external-handle:after{content:'';position:absolute;left:-10px;top:-12px;width:28px;height:14px;border:4px solid #9aabad;border-radius:50%}.camera-handle{left:49%;top:42%;transform:rotate(2deg)}.epigastric-handle{left:47%;top:12%;transform:rotate(-12deg)}.midclav-handle{left:24%;top:23%;transform:rotate(21deg)}.lateral-handle{left:12%;top:38%;transform:rotate(37deg)}.surgeon-hand{position:absolute;z-index:9;width:48px;height:28px;border:2px solid rgba(127,167,255,.72);border-radius:50%;background:rgba(127,167,255,.11)}.left-hand{left:35%;top:12%;transform:rotate(-20deg)}.right-hand{left:14%;top:19%;transform:rotate(18deg)}.trajectory-view .working-shaft b,.trajectory-view .camera-shaft b,.trajectory-view .target-zone b,.bad-trajectory b{position:absolute;padding:3px 5px;background:rgba(5,9,11,.82);color:#c9d9d9;font:6px var(--mono);font-style:normal;white-space:nowrap}.trajectory-view .target-zone b{left:-20px;top:-19px;color:var(--sim-warm)}.trajectory-view .camera-shaft b{left:-32px;top:20%;color:var(--sim-blue)}.trajectory-view .working-shaft b{left:5px;top:44%;color:var(--sim-teal)}.port-world.geometry-collision .external-handle{box-shadow:0 0 18px rgba(231,125,108,.65)}.port-world.geometry-collision .surgeon-hand{transform:translateX(24px);border-color:var(--sim-red)}.bad-trajectory b{left:-78px;top:22px;color:var(--sim-red)}.hand-geometry-confirmed .external-handle,.hand-geometry-confirmed .surgeon-hand{filter:drop-shadow(0 0 5px rgba(82,224,196,.55))}

/* Traction is dynamic: each view reveals a different side. */
.exposure-field{overflow:hidden}.exposure-field .gallbladder{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.exposure-field.neck-lateral .gallbladder{transform:translate(-38px,-20px) rotate(-20deg)}.exposure-field.neck-medial .gallbladder{transform:translate(38px,-17px) rotate(16deg)}.exposure-field .posterior-window{opacity:0;transform:translateX(30px) scale(.8)}.exposure-field.neck-medial .posterior-window{opacity:.72}.exposure-field.neck-medial .anterior-window{opacity:.12}.exposure-triangle b{position:absolute;left:-40px;top:40%;width:160px;padding:4px;background:rgba(5,9,10,.82);color:var(--sim-teal);font:6px var(--mono);font-style:normal}.traction-sequence{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.traction-sequence span{padding:8px;border:1px solid var(--line);color:var(--sim-muted);font:7px var(--mono);text-align:center}.traction-sequence span.done{border-color:var(--sim-teal);color:var(--sim-teal);background:rgba(82,224,196,.06)}

/* Orientation labels are regions, not claims that a structure has been definitively identified. */
.orientation-field .liver>em{position:absolute;left:8%;top:29%;padding:3px 5px;background:rgba(4,7,7,.78);color:#d7a599;font:6px var(--mono);font-style:normal}.cystic-duct-region,.arterial-region,.common-hepatic-region,.common-bile-region{position:absolute;z-index:9;border:2px dashed rgba(215,226,224,.35);background:rgba(8,14,16,.34);transform-origin:top}.cystic-duct-region{left:50%;top:57%;width:104px;height:16px;transform:rotate(24deg);border-color:rgba(92,190,127,.7)}.arterial-region{left:55%;top:48%;width:96px;height:15px;transform:rotate(-20deg);border-color:rgba(230,117,106,.7)}.common-hepatic-region{left:66%;top:37%;width:20px;height:120px;border-color:rgba(190,210,209,.45)}.common-bile-region{left:68%;top:62%;width:22px;height:126px;border-color:rgba(190,210,209,.45)}.cystic-duct-region b,.arterial-region b,.common-hepatic-region b,.common-bile-region b{position:absolute;left:100%;top:-3px;width:130px;padding:3px;background:rgba(5,8,10,.86);color:#d2dfdf;font:6px var(--mono);font-style:normal}.cystic-duct-region b{color:#79d592}.arterial-region b{color:#f29a90}

/* Anterior / posterior dissection doublet. */
.dissect-instruments{grid-template-columns:repeat(4,1fr)!important}.dissect-field.tool-grasper .tool-effect{opacity:1;width:14px;clip-path:polygon(0 0,42% 0,48% 76%,20% 100%,46% 82%,54% 82%,80% 100%,52% 76%,58% 0,100% 0)}.dissect-field.posterior-open .posterior-reflection{opacity:.12;transform:rotate(-24deg) scaleX(.25)}.dissect-field.rotated .gallbladder,.dissect-field.view-posterior .gallbladder{transform:translateX(42px) rotate(14deg)}.dissect-field.view-posterior .anterior-reflection{opacity:.08}.dissect-field.view-posterior .posterior-reflection{filter:drop-shadow(0 0 7px var(--sim-teal))}.view-doublet{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.view-doublet span{padding:9px;border:1px solid var(--line);color:var(--sim-muted);font:7px var(--mono);text-align:center}.view-doublet span.done{border-color:var(--sim-teal);color:var(--sim-teal)}.doublet-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.before-clip{display:grid;gap:7px}.before-clip strong{color:var(--sim-warm);font:18px var(--sans)}.before-clip>span{color:#c7d5d2;font-size:10px}

/* IOC remains its own mini-mission and then collapses back into the operation. */
.ioc-finding.commonHepatic{left:7%;top:36%}.ioc-finding.commonBile{left:8%;top:70%}.ioc-panel.active>.sim-action{margin-top:10px}.ioc-panel.complete{max-width:none}.ioc-panel.complete+ .division-work{margin-top:10px}

/* Clip deployment: the target, full jaw, tip clearance, and persistent metal clip are visible. */
.hepatic-artery-region{position:absolute;z-index:4;left:38%;top:43%;width:120px;height:11px;border:2px dashed rgba(231,125,108,.5);border-radius:50%;transform:rotate(-22deg)}.hepatic-artery-region b{position:absolute;left:-118px;top:-20px;width:125px;padding:3px;background:rgba(8,12,14,.9);color:#f0a199;font:6px var(--mono);font-style:normal}.trajectory-choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.trajectory-choices button{min-height:48px;border:1px solid var(--line);background:#11191e;color:#d2dfdf;font:7px var(--mono);cursor:pointer}.trajectory-choices button:first-child{border-color:rgba(231,125,108,.45);color:#f2aaa2}.trajectory-choices button:last-child{border-color:rgba(82,224,196,.55);color:var(--sim-teal)}.divide-field.angle-unsafe .clip-applier{transform:rotate(67deg)!important;filter:drop-shadow(0 0 8px var(--sim-red))}.divide-field.angle-safe .clip-applier{filter:drop-shadow(0 0 8px rgba(82,224,196,.5))}.clip-jaws{position:absolute;left:-7px;top:-22px;width:25px;height:28px;border:3px solid #d9e3e5;border-bottom:0;border-radius:10px 10px 0 0;transform:rotate(90deg)}.clip-threat .common-orientation,.clip-threat .hepatic-artery-region{filter:drop-shadow(0 0 9px var(--sim-red));opacity:1}.clip-mark{width:15px!important;height:24px!important;border:0!important;background:transparent!important;opacity:1!important;transform:rotate(76deg);animation:clipDeploy .22s ease-out both}.clip-mark:before,.clip-mark:after{content:'';position:absolute;top:0;width:4px;height:24px;border-radius:3px;background:linear-gradient(#f6edb0,#b8a84d);box-shadow:0 0 3px rgba(255,229,120,.6)}.clip-mark:before{left:2px;transform:rotate(-10deg)}.clip-mark:after{right:2px;transform:rotate(10deg)}@keyframes clipDeploy{0%{opacity:0;transform:scale(1.8) rotate(76deg)}100%{opacity:1;transform:scale(1) rotate(76deg)}}

/* Liver-bed release pauses with the fundus tethered for inspection. */
.liverbed-field .duct-stump,.liverbed-field .artery-stump,.post-chole-field .duct-stump,.post-chole-field .artery-stump{position:absolute;z-index:12;width:55px;height:8px;border:3px solid #e9d66c;border-radius:3px}.liverbed-field .duct-stump,.post-chole-field .duct-stump{left:44%;top:66%;background:#5c9b69}.liverbed-field .artery-stump,.post-chole-field .artery-stump{left:53%;top:57%;background:#ac514a}.duct-stump b,.artery-stump b{position:absolute;left:-8px;top:14px;width:90px;color:#dbe3db;font:6px var(--mono);font-style:normal}.final-tether{position:absolute;z-index:18;left:59%;top:35%;width:6px;height:95px;background:var(--sim-warm);transform:rotate(-18deg)}.final-tether b{position:absolute;left:8px;top:35px;width:120px;color:var(--sim-warm);font:6px var(--mono);font-style:normal}.bed-inspection{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bed-tool-bank{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.bed-tool-bank button{padding:10px;border:1px solid var(--line);background:#10171b;color:#b8c7c5;font:7px var(--mono);cursor:pointer}.bed-tool-bank button.selected{border-color:var(--sim-teal);color:var(--sim-teal)}.liverbed-field>.field-fluid{position:absolute;z-index:6;left:33%;right:24%;bottom:10%;height:45px;border-radius:50%;background:rgba(89,163,187,.42);transform:skewX(-20deg);transition:.3s}.liverbed-field:not(.field-fluid)>.field-fluid{opacity:0;transform:scale(.3)}.bed-actions{display:grid;gap:7px}.bed-actions>b{color:var(--sim-warm);font:9px var(--mono)}.bed-actions>p{margin:0;color:#bac8c5;font-size:11px}.bed-actions>.sim-action{min-height:50px}.liverbed-field.deep-warning .bed-bleeding-cue{display:grid}

/* Post-chole field, extraction, and port removal under direct visualization. */
.post-chole-field .liver{position:absolute;left:5%;right:5%;top:2%;height:62%;border-radius:46% 45% 25% 28%;background:linear-gradient(155deg,#71392d,#2c120f)}.clean-fossa{position:absolute;left:43%;top:45%;width:170px;height:105px;border:2px solid rgba(82,224,196,.55);border-radius:52%;background:radial-gradient(ellipse,rgba(87,132,109,.28),rgba(24,49,42,.12));transform:rotate(-14deg)}.post-chole-field .specimen{display:block}.completion-world.step-6 .retrieval-bag,.completion-world.step-6 .specimen{opacity:0;transform:translateY(-200px) scale(.35)}.port-removal-world{display:grid;gap:8px}.removal-port{position:absolute;z-index:20;width:118px;min-height:47px;border:1px solid var(--line);background:rgba(9,14,17,.9);color:#c7d4d2;font:7px var(--mono);cursor:pointer}.removal-port i{display:inline-block;width:13px;height:13px;margin-right:5px;border:3px solid var(--sim-blue);border-radius:50%}.removal-port.p0{right:5%;bottom:10%}.removal-port.p1{right:3%;top:39%}.removal-port.p2{left:5%;top:34%}.removal-port.p3{left:calc(50% - 59px);top:5%}.removal-port.removed{opacity:.3;transform:translateY(-18px)}.camera-view{position:absolute;z-index:5;left:32%;right:32%;top:18%;height:60%;border:1px dashed rgba(127,167,255,.45);border-radius:50%}.camera-view b{position:absolute;left:50%;top:-16px;transform:translateX(-50%);color:var(--sim-blue);font:6px var(--mono);white-space:nowrap}.future-action:disabled{opacity:.45;cursor:not-allowed;border-style:dashed}

@media(max-width:760px){
 .external-handle{height:92px}.surgeon-hand{width:38px}.trajectory-view .working-shaft b,.trajectory-view .camera-shaft b{display:none}.traction-sequence{grid-template-columns:1fr}.orientation-field .common-hepatic-region,.orientation-field .common-bile-region{left:72%}.cystic-duct-region b,.arterial-region b,.common-hepatic-region b,.common-bile-region b{left:-52px;top:18px;width:88px}.dissect-instruments{grid-template-columns:1fr 1fr!important}.doublet-actions,.bed-inspection{grid-template-columns:1fr}.trajectory-choices{grid-template-columns:1fr}.view-doublet{grid-template-columns:1fr}.hepatic-artery-region b{display:none}.liverbed-field .duct-stump,.post-chole-field .duct-stump{left:31%}.liverbed-field .artery-stump,.post-chole-field .artery-stump{left:43%}.final-tether{left:55%}.removal-port{width:96px;font-size:6px}.removal-port.p3{left:calc(50% - 48px)}
}
.final-field .retrieval-bag,.final-field .gallbladder{pointer-events:none}.final-field .bleeding-concern{z-index:26}

/* Clinical-fidelity mission sprint — one state machine, one operative journey. */
.guided-strip #startGuidedCase:before{content:'GUIDED MISSION'}
.b1-guided-cta{border-color:var(--sim-warm)!important;background:linear-gradient(135deg,rgba(219,232,111,.98),rgba(82,224,196,.9))!important;color:#07100e!important}
.role-band{display:flex;align-items:center;gap:10px;margin:8px 0 13px;padding:8px 10px;border-left:3px solid var(--sim-blue);background:rgba(127,167,255,.07);font:8px var(--mono)}.role-band b{color:var(--sim-blue);letter-spacing:.12em}.role-band span{color:#adbec5}
.setup-reference{display:grid;gap:5px;margin-top:10px;padding:9px 11px;border:1px solid rgba(127,167,255,.2);background:rgba(5,10,14,.5)}.setup-reference b{color:var(--sim-blue);font:7px var(--mono);letter-spacing:.14em}.setup-reference span{color:#d4e0df;font-size:11px}.setup-reference small{color:#829392;font:7px var(--mono);line-height:1.5}

/* PREP is spatial: patient, tower, sterile field, lines, then time-out. */
.fidelity-prep{height:540px}.fidelity-prep .prep-table{left:31%;top:9%;height:80%;width:30%}.fidelity-prep .prep-tower{position:absolute;right:4%;top:10%;width:24%;height:42%;border:2px solid #50666a;background:linear-gradient(145deg,#121c20,#071013);box-shadow:inset 0 0 0 8px rgba(127,167,255,.03)}.prep-tower>b,.prep-mayo>b{display:block;padding:8px;color:#8fa4a8;font:7px var(--mono);letter-spacing:.13em}.fidelity-prep .prep-mayo{position:absolute;right:5%;bottom:8%;width:25%;height:28%;border:2px solid #5d7770;background:rgba(26,48,43,.42);transform:skewY(-2deg)}
.fidelity-prep .prep-hotspot{z-index:13;font-size:7px;line-height:1.3}.fidelity-prep .camera-light{position:absolute;left:7%;right:7%;top:25%;width:auto}.fidelity-prep .insufflation{position:absolute;left:7%;right:7%;top:58%;width:auto}.fidelity-prep .suction-energy{position:absolute;left:8%;right:8%;bottom:20%;width:auto}.fidelity-prep .cords{position:absolute;left:7%;bottom:7%;width:24%;height:68px}.fidelity-prep .timeout{position:absolute;left:6%;top:12%;width:24%;height:64px}.fidelity-prep.workspace-clear .prep-cords{filter:drop-shadow(0 0 8px rgba(82,224,196,.4));opacity:.65}.fidelity-prep .prep-hotspot.done{border-color:var(--sim-teal);color:var(--sim-teal);background:rgba(82,224,196,.08)}
.prep-cords.camera-connected:before,.prep-cords.gas-connected:after{background:var(--sim-teal);box-shadow:0 0 8px rgba(82,224,196,.45)}.prep-cords.systems-connected{border-color:rgba(82,224,196,.55)}

/* Access techniques are visually distinct, not relabeled duplicates. */
.access-choice button{position:relative}.access-choice em{position:absolute;right:8px;top:8px;padding:4px 6px;border:1px solid rgba(219,232,111,.45);color:var(--sim-warm);font:6px var(--mono);font-style:normal}.access-world.method-hasson .access-instrument{width:13px;background:linear-gradient(90deg,#6f7b7f,#e2e8e9,#69767a)}.access-world.method-veress .access-instrument{width:3px;background:#dce8ea;box-shadow:0 0 0 1px #64797d}.access-world.method-veress .access-depth>i{border-radius:50%;background:radial-gradient(circle,rgba(82,224,196,.18),transparent 64%)}.access-world.method-optical .access-instrument{width:22px;background:linear-gradient(90deg,#53646a 0 18%,#d9e3e6 19% 32%,#1d3d4a 33% 72%,#a5b8bd 73%)}.scope-core{position:absolute;z-index:8;width:4px;height:185px;left:calc(50% - 2px);top:20%;background:var(--sim-blue);opacity:0;transform:rotate(-8deg)}.method-optical.step-1 .scope-core,.method-optical.step-2 .scope-core,.method-optical.step-3 .scope-core,.method-optical.step-4 .scope-core,.method-optical.step-5 .scope-core{opacity:.9}.access-world.method-optical .access-depth{background:linear-gradient(180deg,rgba(127,167,255,.08),rgba(82,224,196,.07))}
.hand-width-guide{position:absolute;z-index:4;left:26%;top:48%;width:34%;height:23%;border:1px dashed rgba(127,167,255,.5);border-radius:50%;transform:rotate(-16deg);pointer-events:none}.hand-width-guide span{position:absolute;left:8%;bottom:-17px;color:rgba(127,167,255,.8);font:6px var(--mono);white-space:nowrap}

/* Orientation checkpoint: fixed landmark map before tissue dissection. */
.orient-chapter:before{content:'';position:absolute;z-index:-1;inset:-14px;border-top:1px solid rgba(255,189,89,.24)}
.orientation-field{height:480px;background:radial-gradient(ellipse at 56% 42%,#263629 0 13%,#2b1a13 35%,#0e0807 72%)}.orientation-field .liver{position:absolute;left:4%;right:4%;top:3%;height:46%;border-radius:46% 48% 28% 22%;background:linear-gradient(155deg,#7a3429,#32130f);box-shadow:inset 0 -20px 45px rgba(0,0,0,.55)}.orientation-field .liver>b,.orientation-field .gallbladder>b,.orientation-field .gallbladder>em{position:absolute;padding:3px 5px;background:rgba(4,7,7,.78);font:7px var(--mono);font-style:normal;white-space:nowrap}.orientation-field .liver>b{left:8%;top:15%;color:#f1a797}.orientation-field .gallbladder{position:absolute;z-index:5;left:47%;top:17%;width:95px;height:230px;border-radius:52% 52% 45% 45%;background:linear-gradient(100deg,#55774a,#9ca95f 48%,#3f633d);transform:rotate(-14deg);box-shadow:inset -18px 0 26px rgba(0,0,0,.3)}.orientation-field .gallbladder>b{left:70%;top:22%;color:#ccda95}.orientation-field .gallbladder>em{left:55%;bottom:3%;color:var(--sim-warm)}
.safe-plane{position:absolute;z-index:8;left:18%;right:13%;top:62%;height:3px;background:linear-gradient(90deg,var(--sim-teal),var(--sim-warm));box-shadow:0 0 18px rgba(82,224,196,.35);transform:rotate(-5deg)}.safe-plane span{position:absolute;right:0;top:-23px;color:var(--sim-teal);font:6px var(--mono)}.danger-zone{position:absolute;z-index:3;left:12%;right:10%;bottom:7%;height:24%;border:1px dashed rgba(231,125,108,.5);background:linear-gradient(rgba(231,125,108,.02),rgba(231,125,108,.13));color:var(--sim-red)}.danger-zone b,.danger-zone span{position:absolute;left:10px}.danger-zone b{bottom:29px;font:8px var(--mono)}.danger-zone span{bottom:13px;font:6px var(--mono)}
.orientation-landmark{position:absolute;z-index:18;min-width:120px;min-height:48px;padding:8px;border:1px solid rgba(219,232,111,.38);background:rgba(7,12,12,.86);color:#dbe5da;font:7px var(--mono);cursor:pointer}.orientation-landmark.rouviere{left:19%;top:55%}.orientation-landmark.umbilical{left:63%;top:53%}.orientation-landmark.porta{left:43%;bottom:11%}.orientation-landmark.done{border-color:var(--sim-teal);color:var(--sim-teal);background:rgba(82,224,196,.1)}.orientation-landmark i{display:inline-block;width:24px;height:4px;margin-right:5px;background:currentColor}.arterial-pulse{border-radius:50%;animation:arterialPulse 1.2s ease infinite}@keyframes arterialPulse{50%{transform:scale(1.25);box-shadow:0 0 0 6px rgba(231,125,108,.12)}}.orientation-findings{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.orientation-findings span{padding:8px;border:1px solid var(--line);color:#819090;font:7px var(--mono)}.orientation-findings .done{border-color:rgba(82,224,196,.45);color:var(--sim-teal)}

/* Dissection shows reflections at the gallbladder wall and tool-specific effects. */
.dissect-field .anterior-reflection{left:49%;top:44%;width:90px;height:4px;transform:rotate(26deg);opacity:.85}.dissect-field .posterior-reflection{left:51%;top:55%;width:100px;height:4px;transform:rotate(-24deg);opacity:.8}.dissect-field.opened .anterior-reflection{opacity:.15;transform:rotate(26deg) scaleX(.25)}.dissect-field.lateral .posterior-reflection{opacity:.15;transform:rotate(-24deg) scaleX(.25)}.triangle-tissue b{position:absolute;left:-54px;top:42px;width:130px;color:#d5ba89;font:6px var(--mono);font-style:normal}.dissect-field.cleared .triangle-tissue b{opacity:.25}.tool-effect{position:absolute;z-index:16;width:12px;height:240px;right:16%;bottom:-110px;background:linear-gradient(90deg,#58656a,#dbe4e5,#59686c);transform:rotate(43deg);transform-origin:bottom;opacity:0}.dissect-field.tool-hook .tool-effect,.dissect-field.tool-maryland .tool-effect,.dissect-field.tool-suction .tool-effect{opacity:1}.dissect-field.tool-hook .tool-effect{width:7px;box-shadow:0 -8px 8px rgba(255,189,89,.55)}.dissect-field.tool-maryland .tool-effect{clip-path:polygon(0 0,45% 0,50% 75%,55% 0,100% 0,58% 78%,70% 100%,30% 100%,42% 78%)}.dissect-field.tool-suction .tool-effect{width:20px;border-radius:10px 10px 0 0}.variant-artery{position:absolute;z-index:11;left:48%;top:45%;width:100px;height:8px;border:2px solid #ff9c94;border-radius:50%;background:#8d2f2d;transform:rotate(22deg)}.variant-artery b{position:absolute;left:80px;top:-24px;width:150px;color:#ffaaa3;font:6px var(--mono);font-style:normal}.dissect-instruments{grid-template-columns:repeat(3,1fr)!important}
.hook-icon,.maryland-icon,.suction-icon{display:block;width:8px;height:36px;margin:auto;background:linear-gradient(90deg,#69777c,#e4ebec,#65747a)}.hook-icon{border-radius:0 0 8px 0;transform:rotate(18deg)}.maryland-icon{clip-path:polygon(0 0,40% 0,48% 65%,0 100%,50% 78%,100% 100%,52% 65%,60% 0)}.suction-icon{width:13px;border-radius:7px 7px 1px 1px}

/* IOC workflow and image-adequacy map. */
.adjunct-cards{display:grid!important;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.adjunct-cards button{min-height:52px!important;text-align:left}.adjunct-cards b,.adjunct-cards small{display:block}.adjunct-cards small{margin-top:4px;color:#899999;font-size:7px}.adjunct-note{display:block;margin-top:7px;color:var(--sim-blue)!important}.ioc-workflow{display:grid;grid-template-columns:minmax(220px,.72fr) 1fr;gap:9px}.ioc-workflow .ioc-visual{min-height:290px}.ioc-steps{display:grid;grid-template-columns:1fr 1fr;gap:5px}.ioc-steps .sim-action{margin:0;min-height:43px;font-size:7px}.ioc-visual .duct{position:absolute;left:47%;top:28%;width:16px;height:160px;border-radius:9px;background:#588f68}.ioc-visual .ductotomy{position:absolute;left:47%;top:52%;width:18px;height:3px;background:#321018;opacity:0}.ioc-visual .catheter{position:absolute;left:57%;top:45%;width:4px;height:120px;background:var(--sim-blue);transform:rotate(45deg);opacity:0}.ioc-visual .contrast{position:absolute;left:39%;top:20%;width:82px;height:200px;border:2px solid rgba(255,255,255,.25);border-radius:48%;opacity:0}.ioc-visual.s3 .ductotomy,.ioc-visual.s4 .ductotomy,.ioc-visual.s5 .ductotomy,.ioc-visual.s6 .ductotomy,.ioc-visual.s7 .ductotomy,.ioc-visual.s8 .ductotomy{opacity:1}.ioc-visual.s4 .catheter,.ioc-visual.s5 .catheter,.ioc-visual.s6 .catheter,.ioc-visual.s7 .catheter,.ioc-visual.s8 .catheter{opacity:1}.ioc-visual.s7 .contrast,.ioc-visual.s8 .contrast{opacity:1;box-shadow:0 0 25px rgba(255,255,255,.16)}
.fluoro-map{position:relative;height:330px;margin-top:10px;border:6px solid #0a0c0d;border-radius:20px;background:radial-gradient(circle at 50% 44%,#79807d,#2c3130 65%,#111);filter:grayscale(1);box-shadow:inset 0 0 55px #080909}.fluoro-map>i{position:absolute;background:#eef1e9;box-shadow:0 0 7px rgba(255,255,255,.65)}.biliary-main{left:49%;top:28%;width:8px;height:190px;border-radius:6px}.biliary-right{left:38%;top:20%;width:120px;height:6px;transform:rotate(23deg);transform-origin:right}.biliary-left{left:50%;top:20%;width:115px;height:6px;transform:rotate(-21deg);transform-origin:left}.biliary-distal{left:51%;top:70%;width:5px;height:68px;transform:rotate(10deg)}.duodenum{left:54%;bottom:7%;width:140px;height:36px;border-radius:50%;background:transparent!important;border:5px solid #eef1e9}.ioc-finding{position:absolute;z-index:5;min-height:32px;padding:5px 7px;border:1px solid #cbd1cc;background:rgba(20,23,22,.82);color:#f0f3ed;font:6px var(--mono);cursor:pointer}.ioc-finding.done{border-color:var(--sim-teal);color:var(--sim-teal)}.ioc-finding.cystic{left:10%;top:50%}.ioc-finding.main{left:8%;top:66%}.ioc-finding.right{left:13%;top:13%}.ioc-finding.left{right:12%;top:12%}.ioc-finding.distal{right:10%;top:60%}.ioc-finding.duodenum{right:7%;bottom:6%}

/* Representative 2-staying / 1-specimen clip pattern. */
.clip-mark.duct.stay1{left:52%;top:69%}.clip-mark.duct.stay2{left:55%;top:71%}.clip-mark.duct.specimen{left:62%;top:74%}.clip-mark.artery.stay1{left:56%;top:48%}.clip-mark.artery.stay2{left:59%;top:46%}.clip-mark.artery.specimen{left:65%;top:43%}.control-site.duct.stay1{left:50%;top:66%}.control-site.duct.stay2{left:54%;top:70%}.control-site.duct.specimen{left:61%;top:73%}.control-site.artery.stay1{left:54%;top:45%}.control-site.artery.stay2{left:58%;top:43%}.control-site.artery.specimen{left:64%;top:40%}
.bed-bleeding-cue{position:absolute;z-index:24;right:6%;top:19%;padding:9px;border:1px solid var(--sim-red);background:rgba(84,17,21,.9);color:#ffc1bb;font-style:normal}.bed-bleeding-cue b,.bed-bleeding-cue span{display:block;position:static}.bed-bleeding-cue b{font:8px var(--mono)}.bed-bleeding-cue span{margin-top:4px;font:6px var(--mono)}

/* Controlled difficult extraction and closure mini-mission. */
.completion-world.extraction-blocked .extraction-target{opacity:.35;pointer-events:none}.completion-world.extraction-blocked .retrieval-bag{opacity:1;transform:translate(0,-180px) scale(.72)}.extraction-enlarge{position:absolute;z-index:27;left:50%;bottom:35px;transform:translateX(-50%);min-width:270px;min-height:58px;border:2px solid var(--sim-warm);background:#151a15;color:var(--sim-warm);font:8px var(--mono);cursor:pointer}
.closure-mission{max-width:1100px;margin:auto}.closure-world{display:grid;grid-template-columns:1fr .8fr;gap:10px;margin:14px 0}.closure-port{position:relative;min-height:320px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(#703e35 0 23%,#d08c76 24% 38%,#d3bd8f 39% 51%,#87443c 52% 70%,#4b2421 71%)}.closure-port>i{position:absolute;left:50%;transform:translateX(-50%);transition:.45s}.skin-layer{top:19%;width:140px;height:15px;border-radius:50%;background:#38191c}.fascial-layer{top:55%;width:190px;height:34px;border:4px solid #e0c9a2;border-radius:50%;background:#3a2020}.closure-suture{top:50%;width:0;height:0;border:0 solid var(--sim-teal);border-radius:50%}.closure-world.step-1 .fascial-layer{box-shadow:0 0 0 6px rgba(219,232,111,.15)}.closure-world.step-2 .closure-suture,.closure-world.step-3 .closure-suture{width:150px;height:52px;border-width:3px}.closure-world.step-3 .skin-layer{width:28px}.closure-port>b{position:absolute;left:12px;bottom:12px;color:#f1dfcf;font:7px var(--mono)}.closure-materials{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px;border:1px solid var(--line);background:rgba(11,18,20,.75)}.closure-materials span{color:var(--sim-blue);font:8px var(--mono)}.closure-materials b{color:#d6dfde;font-size:13px;line-height:1.6}.closure-materials small{color:var(--sim-warm);font:7px var(--mono);line-height:1.6}.closure-actions{grid-template-columns:repeat(3,1fr)}
.mission-score-grid{grid-template-columns:repeat(5,1fr)}.mission-score-grid .xp-score{border-color:rgba(219,232,111,.5);background:rgba(219,232,111,.06)}.mission-score-grid .xp-score span{color:var(--sim-warm)}.debrief-actions{grid-template-columns:repeat(4,1fr)}

@media(max-width:760px){
  .role-band{align-items:flex-start;flex-direction:column}.fidelity-prep{height:640px}.fidelity-prep .prep-table{left:28%;top:15%;width:38%;height:70%}.fidelity-prep .prep-tower{right:2%;width:31%}.fidelity-prep .prep-mayo{right:2%;width:32%}.fidelity-prep .cords{left:2%;bottom:6%;width:26%}.fidelity-prep .timeout{left:2%;top:13%;width:27%}
  .hand-width-guide{left:18%;width:45%}.orientation-field{height:500px}.orientation-landmark{min-width:92px;max-width:120px;font-size:6px}.orientation-landmark.rouviere{left:5%}.orientation-landmark.umbilical{left:61%}.orientation-landmark.porta{left:35%}.orientation-findings{grid-template-columns:1fr}.orientation-field .gallbladder{left:42%}.safe-plane{left:8%;right:5%}
  .dissect-instruments{grid-template-columns:repeat(3,1fr)!important}.dissect-instruments button{min-width:0;padding:5px;font-size:6px}.triangle-tissue b{display:none}.variant-artery b{left:8px;top:-34px;width:100px}.ioc-workflow{grid-template-columns:1fr}.ioc-steps{grid-template-columns:1fr 1fr}.ioc-workflow .ioc-visual{min-height:220px}.fluoro-map{height:360px}.adjunct-cards{grid-template-columns:1fr!important}
  .control-site.duct.stay1{left:42%;top:66%}.control-site.duct.stay2{left:48%;top:70%}.control-site.duct.specimen{left:57%;top:74%}.control-site.artery.stay1{left:45%;top:45%}.control-site.artery.stay2{left:51%;top:43%}.control-site.artery.specimen{left:60%;top:40%}
  .closure-world{grid-template-columns:1fr}.closure-port{min-height:260px}.closure-actions{grid-template-columns:1fr}.mission-score-grid{grid-template-columns:1fr 1fr}.debrief-actions{grid-template-columns:1fr}
}

/* Final fidelity overrides — this block intentionally remains last. */
.sim-tools #simElapsed{align-self:center;padding:6px 8px;border:1px solid rgba(127,167,255,.25);color:var(--sim-blue);font:7px var(--mono);white-space:nowrap}
.clip-jaws{left:-7px!important;top:-22px!important;width:25px!important;height:28px!important;border:3px solid #d9e3e5!important;border-bottom:0!important;border-radius:10px 10px 0 0!important;transform:rotate(90deg)!important;clip-path:none!important;background:transparent!important}
.dissect-instruments{grid-template-columns:repeat(4,1fr)!important}.dissect-field.tool-grasper .tool-effect{opacity:1;width:14px;clip-path:polygon(0 0,42% 0,48% 76%,20% 100%,46% 82%,54% 82%,80% 100%,52% 76%,58% 0,100% 0)}
.liverbed-field.energy-ready .release-instrument{filter:drop-shadow(0 0 8px rgba(255,189,89,.7))}.bed-fluid-tool{position:absolute;z-index:17;width:18px;height:220px;right:11%;bottom:-100px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,#6e7e84,#dfe8e9,#5e6b70);transform:rotate(48deg);animation:fluidToolMove .45s ease both}@keyframes fluidToolMove{from{transform:translate(80px,90px) rotate(48deg)}to{transform:translate(0,0) rotate(48deg)}}
.post-chole-field:after{content:'';position:absolute;z-index:3;left:26%;right:20%;bottom:8%;height:38px;border-radius:50%;background:rgba(87,151,174,.3);transform:skewX(-17deg)}
@media(max-width:760px){.sim-tools #simElapsed{grid-column:1/-1;justify-self:end;padding:3px 5px;font-size:6px}.dissect-instruments{grid-template-columns:1fr 1fr!important}}

/* Founder restoration: preserve every operative interaction and make location unmistakable. */
.sim-case-id h2{max-width:640px;font-size:18px;line-height:1.25;color:#eef5f4}.sim-timeline button.current{position:relative;background:rgba(127,167,255,.12)!important;box-shadow:inset 0 -3px var(--sim-blue);color:#dce8ff!important}.sim-timeline button.current:after{content:'YOU ARE HERE';display:block;margin-top:4px;color:var(--sim-blue);font:5px var(--mono);letter-spacing:.12em}
.instrument-commitment{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin-bottom:7px;padding:11px 12px;border:1px solid rgba(219,232,111,.44);background:linear-gradient(90deg,rgba(219,232,111,.08),rgba(12,18,22,.94))}.instrument-commitment b{color:var(--sim-warm);font:9px var(--mono);letter-spacing:.1em}.instrument-commitment span{justify-self:end;color:#d4dddb;font:8px var(--mono)}.instrument-commitment small{grid-column:1/-1;color:#8da09f;font:7px var(--mono)}
.dissect-instruments button{min-height:92px!important}.dissect-instruments button i{transform:scale(1.08)}.dissect-instruments button.selected{box-shadow:inset 0 -4px var(--sim-teal),0 0 24px rgba(82,224,196,.11)}
@media(max-width:760px){.sim-case-id{display:block!important;grid-column:1/-1;grid-row:2}.sim-case-id>span{display:none}.sim-case-id h2{font-size:12px;margin:2px 0}.sim-header{grid-template-rows:auto auto}.instrument-commitment{grid-template-columns:1fr}.instrument-commitment span{justify-self:start}.dissect-instruments button{min-height:72px!important}}

/* Operative-rehearsal sprint: actions stay primary; annotations recede. */
.sim-tools #simElapsed{display:none!important}.sim-header{padding-left:132px}.guided-case-active .prep-timer.guided-timer.b1-timer-docked{left:14px;right:auto;top:10px;bottom:auto;min-width:100px;padding:7px 9px;border-color:rgba(219,232,111,.42);background:rgba(7,12,15,.97)}.guided-case-active .prep-timer.b1-timer-launch{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important}.sim-chapter h1{font-size:clamp(28px,4vw,48px)}.sim-chapter>p.action-brief{max-width:560px;margin:5px 0 10px;font-size:11px}.role-band{padding:7px 10px}.source-note{opacity:.68}

/* Position: compact text-safe consequence panel with a clear before/after state. */
.position-consequence{overflow:hidden;padding:12px}.position-consequence span{left:10px;right:10px;bottom:8px;max-width:none;padding:3px 5px;background:rgba(7,11,13,.8);white-space:normal}.position-world .gravity-consequence{padding:6px;text-align:center;line-height:1.35}.position-controls{position:relative;z-index:3}

/* Port placement: one current port, subtle landmarks, recognizable placed cannulas. */
.port-token-bank{grid-template-columns:minmax(260px,420px);justify-content:start}.port-token.placed,.port-token:not(.sim-next):not(.selected){display:none}.port-world.token-selected .port-drop-zone:not(.placed){width:46px;height:46px;opacity:.34;border:1px solid rgba(127,167,255,.26);background:rgba(8,14,17,.16)}.port-world.token-selected .port-drop-zone:not(.placed) i{width:8px;height:8px;border-color:rgba(127,167,255,.72)}.port-world.token-selected .port-drop-zone.correct-target{width:54px;height:54px;opacity:1;border:1px solid var(--sim-warm)!important;background:rgba(219,232,111,.06)!important}.port-drop-zone.placed{width:24px;height:24px;border:3px solid var(--sim-teal);background:#0b1718;box-shadow:0 0 0 6px rgba(82,224,196,.08)}.port-drop-zone.placed:before{content:'';position:absolute;left:8px;top:-24px;width:8px;height:31px;border-radius:4px;background:linear-gradient(90deg,#68777b,#e0e7e9,#667579);transform:rotate(-9deg);transform-origin:bottom}.port-drop-zone.placed:after{content:'';position:absolute;left:3px;top:-30px;width:19px;height:8px;border:2px solid #aebabc;border-radius:4px;transform:rotate(-9deg)}.port-drop-zone.placed b{font-size:0}.port-drop-zone.placed span{top:32px}.trajectory-view .camera-shaft,.trajectory-view .working-shaft{filter:drop-shadow(0 0 6px rgba(204,222,224,.22))}.geometry-collision .external-handle{filter:drop-shadow(0 0 8px rgba(231,125,108,.75))}

/* Dynamic exposure: the learner first takes two visible grasp points, then moves them. */
.exposure-field{min-height:310px}.grasp-hotspot{position:absolute;z-index:20;min-width:118px;padding:8px 10px;border:1px solid rgba(219,232,111,.55);background:rgba(6,11,12,.9);color:var(--sim-warm);font:7px var(--mono);cursor:pointer}.grasp-hotspot.fundus{left:46%;top:20%}.grasp-hotspot.neck{left:59%;top:64%}.grasp-hotspot:disabled{opacity:0;pointer-events:none}.grasp-hotspot[disabled] span{color:var(--sim-teal)}.exposure-field.fundus-grasped .grasp-hotspot.fundus,.exposure-field.neck-grasped .grasp-hotspot.neck{opacity:.72;pointer-events:none;border-color:rgba(82,224,196,.46)}.fundus-grasper,.neck-grasper{opacity:.22}.exposure-field.fundus-grasped .fundus-grasper,.exposure-field.neck-grasped .neck-grasper{opacity:1}.fundus-grasper .jaw-a,.fundus-grasper .jaw-b,.neck-grasper .jaw-a,.neck-grasper .jaw-b{position:absolute;left:-4px;bottom:-15px;width:18px;height:4px;background:#dce5e7;transform-origin:9px 2px;transition:transform .25s}.fundus-grasper .jaw-a,.neck-grasper .jaw-a{transform:rotate(34deg)}.fundus-grasper .jaw-b,.neck-grasper .jaw-b{transform:rotate(-34deg)}.exposure-field.fundus-grasped .fundus-grasper .jaw-a,.exposure-field.neck-grasped .neck-grasper .jaw-a{transform:rotate(4deg)}.exposure-field.fundus-grasped .fundus-grasper .jaw-b,.exposure-field.neck-grasped .neck-grasper .jaw-b{transform:rotate(-4deg)}.exposure-field .gallbladder,.fundus-grasper,.neck-grasper{transition-duration:.32s}.traction-sequence{grid-template-columns:repeat(5,1fr)}.traction-vector{opacity:0!important}.exposure-field.fundus-up .fundus-vector,.exposure-field.neck-lateral .neck-vector,.exposure-field.neck-medial .neck-vector{opacity:.54!important}

/* Anatomy orientation: no all-labels-at-once overlay. One landmark earns the next layer. */
.orientation-landmark{opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}.orientation-landmark.done,.orientation-landmark.sim-next{opacity:1;pointer-events:auto}.orientation-landmark.triangle{left:49%;top:49%}.orientation-field .cystic-duct-region b,.orientation-field .arterial-region b,.orientation-field .common-hepatic-region b,.orientation-field .common-bile-region b,.orientation-field .safe-plane span,.orientation-field .danger-zone{opacity:0;transition:opacity .25s}.orientation-field.stage-1 .safe-plane span,.orientation-field.stage-2 .safe-plane span,.orientation-field.stage-3 .safe-plane span{opacity:1}.orientation-field.stage-2 .cystic-duct-region b,.orientation-field.stage-2 .arterial-region b,.orientation-field.stage-3 .cystic-duct-region b,.orientation-field.stage-3 .arterial-region b{opacity:1}.orientation-field.stage-3 .common-hepatic-region b,.orientation-field.stage-3 .common-bile-region b,.orientation-field.stage-3 .danger-zone{opacity:1}.orientation-findings span:not(.done){opacity:.35}

/* Clip and divide: whole instrument silhouette, persistent deformed clips, active shears closure. */
.clipper-icon:before{content:'';position:absolute;left:-22px;top:-17px;width:22px;height:38px;border:4px solid #95a3a7;border-radius:50%}.lap-tool.clip-applier{width:17px}.lap-tool.clip-applier:before{content:'';position:absolute;left:-30px;bottom:-38px;width:52px;height:74px;border:7px solid #89979b;border-radius:44% 38% 45% 46%;transform:rotate(-8deg)}.clip-mark{transition:transform .25s}.clip-mark:active{transform:scale(.82) rotate(18deg)}.cut-site.correct{font-size:0;overflow:hidden;touch-action:none;user-select:none}.cut-site.correct:after{content:'PRESS + HOLD · DIVIDE BETWEEN CLIPS';display:block;font:7px/1.25 var(--mono)}.cut-site.correct:before{content:'';position:absolute;left:0;bottom:0;width:0;height:5px;background:var(--sim-teal)}.cut-site.correct.holding:before{width:100%;transition:width .32s linear}.divide-field:has(.cut-site.holding) .lap-tool.endoshears:before{transform:rotate(3deg)}.divide-field:has(.cut-site.holding) .lap-tool.endoshears:after{transform:rotate(-3deg)}.divide-structure.divided i{transition:background .24s,transform .24s}.liverbed-field .gallbladder,.liverbed-field .bed-plane{transition-duration:.32s}

@media(max-width:760px){.sim-header{padding-left:104px}.guided-case-active .prep-timer.guided-timer.b1-timer-docked{left:7px;right:auto;top:7px;bottom:auto;min-width:82px;padding:5px 6px}.position-consequence span{font-size:7px}.port-token-bank{grid-template-columns:1fr}.port-drop-zone.placed span{display:none}.grasp-hotspot{min-width:86px;padding:7px;font-size:6px}.grasp-hotspot.fundus{left:29%;top:20%}.grasp-hotspot.neck{left:54%;top:64%}.traction-sequence{grid-template-columns:1fr 1fr}.orientation-landmark.triangle{left:42%;top:47%}}

/* Pilot release hardening — restrained HUD, unmistakable navigation, and viewport-safe action fields. */
.sim-shell,.sim-header,.sim-stage,.sim-chapter{min-width:0;max-width:100vw}.sim-stage{overflow-x:hidden}.sim-chapter>*{max-width:100%;box-sizing:border-box}.sim-header{grid-template-columns:330px minmax(145px,auto) minmax(180px,1fr) auto;padding:9px 14px;gap:12px}.sim-brand-hud{min-width:0;display:flex;align-items:center;gap:12px}.sim-brand-hud .sim-home{flex:0 0 200px}.sim-brand-hud #simTimerDock{display:block;flex:0 0 102px;min-height:43px}.guided-case-active #simTimerDock .prep-timer.guided-timer.b1-timer-docked{position:relative!important;inset:auto!important;display:block;min-width:102px;margin:0;padding:6px 8px;animation:s05TimerDock .55s ease both;transform:none!important}.guided-case-active #simTimerDock .prep-timer.guided-timer.b1-timer-launch{position:fixed!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%) scale(2.05)!important}.sim-nav{min-width:0;flex-wrap:wrap}.sim-nav button{white-space:nowrap}.sim-nav #simReturnCurrent{flex-basis:100%;border-color:var(--sim-warm);background:var(--sim-warm);color:#08100f;font-weight:700;animation:simPulse 1.65s infinite}.review-ribbon{align-items:center}.review-ribbon span{line-height:1.4}.division-work,.liverbed-work,.completion-world,.port-world,.access-world{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.bed-actions,.division-controls,.trajectory-view,.port-abdomen{min-width:0;overflow:hidden}

/* PREP visibly routes each system before the workspace is cleared. */
.fidelity-prep .suction{position:absolute;left:8%;right:8%;top:34%;width:auto}.fidelity-prep .energy{position:absolute;left:8%;right:8%;bottom:12%;width:auto}.fidelity-prep .prep-mayo{height:32%}.prep-cords{width:88px;height:210px;border:1px dashed rgba(227,183,91,.55);background:repeating-linear-gradient(102deg,transparent 0 9px,rgba(227,183,91,.86) 10px 13px,transparent 14px 24px);rotate:28deg;transition:height .35s,right .35s,rotate .35s,filter .35s}.prep-cords:before,.prep-cords:after{content:'';position:absolute;width:4px;height:125px;top:20px;background:var(--sim-amber);transform-origin:top;transition:.4s}.prep-cords:before{left:18px;rotate:-18deg}.prep-cords:after{right:18px;rotate:24deg}.prep-cords.camera-connected:before,.prep-cords.gas-connected:after{background:var(--sim-teal);box-shadow:0 0 10px rgba(82,224,196,.5)}.prep-cords.suction-connected{border-left:4px solid var(--sim-teal)}.prep-cords.energy-connected{border-right:4px solid var(--sim-teal)}.prep-cords.connected{height:142px;right:25%;rotate:3deg;background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(82,224,196,.72) 13px 16px,transparent 17px 28px)}.prep-patient{border-radius:42% 42% 34% 34%;background:linear-gradient(90deg,transparent 0 17%,#77908a 18% 82%,transparent 83%),radial-gradient(circle at 50% 8%,#92aaa4 0 10%,transparent 11%)}

/* Three original technical device silhouettes: Kocher/open set, Veress needle, optical trocar + scope. */
.access-choice .method-device{position:relative;display:block;float:none;width:100%;height:82px;margin:0 0 18px;border:0;border-radius:0}.method-device i{position:absolute!important;display:block!important;float:none!important;margin:0!important}.method-device i:after{content:none!important}.kocher-rings{left:12px;top:7px;width:30px!important;height:52px!important;border:5px solid #9fb0b4!important;border-radius:50%!important;box-shadow:34px 0 0 -5px #0f171c,34px 0 0 0 #9fb0b4}.kocher-shaft{left:39px;top:33px;width:125px!important;height:7px!important;border:0!important;border-radius:4px!important;background:linear-gradient(#edf3f4,#728084)!important;transform:rotate(-6deg);transform-origin:left}.kocher-tip{left:156px;top:17px;width:48px!important;height:20px!important;border:0!important;border-top:5px solid #dce6e8!important;border-bottom:5px solid #dce6e8!important;border-radius:0 60% 60% 0!important;transform:rotate(-6deg)}.blunt-cannula{right:16px;top:19px;width:22px!important;height:58px!important;border:0!important;border-radius:7px!important;background:linear-gradient(90deg,#526166,#d9e4e6 45%,#647378)!important}.veress-hub{left:16px;top:19px;width:64px!important;height:32px!important;border:3px solid #9caaad!important;border-radius:7px!important;background:#23343a!important}.veress-shaft{left:76px;top:31px;width:166px!important;height:5px!important;border:0!important;border-radius:5px!important;background:#dce7e9!important}.veress-tip{left:236px;top:23px;width:22px!important;height:20px!important;border:3px solid #dce7e9!important;border-left:0!important;border-radius:0 60% 60% 0!important}.optical-handle{left:16px;top:16px;width:72px!important;height:44px!important;border:4px solid #91a1a5!important;border-radius:12px!important;background:#1d2c32!important}.optical-cannula{left:85px;top:28px;width:158px!important;height:18px!important;border:3px solid #aab8bb!important;border-radius:5px 50% 50% 5px!important;background:linear-gradient(#56666b,#cedadc,#536368)!important}.optical-scope{left:28px;top:35px;width:205px!important;height:4px!important;border:0!important;background:var(--sim-blue)!important}.optical-tip{left:232px;top:27px;width:26px!important;height:20px!important;border:3px solid var(--sim-blue)!important;border-left:0!important;border-radius:0 60% 60% 0!important}.access-instrument .device-handle{position:absolute;width:38px;height:24px;left:-13px;top:-18px;border:4px solid #aebabd;border-radius:45%;background:#1a252a}.method-hasson .access-instrument .device-tip{position:absolute;width:28px;height:18px;left:-8px;bottom:-4px;border:4px solid #dfe7e9;border-top:0;border-radius:0 0 50% 50%}.method-veress .access-instrument .device-handle{width:54px;height:18px;left:-25px;border-radius:6px}.method-veress .access-instrument .device-tip{position:absolute;width:14px;height:12px;left:-5px;bottom:-4px;border:3px solid #dce8ea;border-left:0;border-radius:0 60% 60% 0}.method-optical .access-instrument .device-handle{width:52px;height:34px;left:-17px;border-radius:10px}.method-optical .access-instrument .device-tip{position:absolute;width:20px;height:18px;left:-2px;bottom:-5px;border:3px solid var(--sim-blue);border-top:0;border-radius:0 0 50% 50%}

/* Active final-field clearance: choose the instrument, then move it to the fluid pocket. */
.bed-suction-target{position:absolute;z-index:26;left:22%;bottom:24px;min-width:240px;padding:10px 12px;border:2px solid var(--sim-warm);background:rgba(8,13,15,.94);color:var(--sim-warm);text-align:left;cursor:pointer}.bed-suction-target b,.bed-suction-target span{display:block}.bed-suction-target b{font:8px var(--mono)}.bed-suction-target span{position:static;margin-top:4px;color:#d0dad8;font:9px sans-serif}.liverbed-field.tool-suction .bed-fluid-tool{right:17%;bottom:-74px;transform:rotate(58deg)}.liverbed-field:not(.field-fluid) .bed-fluid-tool{filter:drop-shadow(0 0 7px rgba(82,224,196,.55))}

@media(max-width:900px){.sim-header{grid-template-columns:minmax(210px,1fr) auto;grid-template-rows:auto auto auto;padding:7px 8px;gap:6px}.sim-brand-hud{grid-column:1;grid-row:1}.sim-brand-hud .sim-home{flex-basis:110px;width:110px;height:38px}.sim-brand-hud #simTimerDock{flex-basis:88px;min-height:38px}.guided-case-active #simTimerDock .prep-timer.guided-timer.b1-timer-docked{min-width:86px;padding:4px 6px}.sim-tools{grid-column:2;grid-row:1;justify-content:flex-end}.sim-nav{grid-column:1/-1;grid-row:2}.sim-case-id{display:block!important;grid-column:1/-1;grid-row:3}.sim-case-id>span{display:none}.sim-case-id h2{font-size:12px;margin:1px 0}.sim-nav #simReturnCurrent{flex-basis:auto}.sim-timeline{overflow-x:auto;grid-template-columns:repeat(7,82px)}.fidelity-prep{height:620px}.division-work,.liverbed-work,.completion-world,.port-world,.access-world{grid-template-columns:1fr}.access-choice .method-device{height:68px}.bed-suction-target{left:7%;right:7%;min-width:0}.bed-tool-bank{grid-template-columns:1fr}.sim-stage{overflow-x:hidden}.sim-chapter{width:100%}}

/* Keep the seven-chapter rail swipeable on small screens without exposing a
   browser scrollbar that competes with the operative progress indicator. */
.sim-timeline{scrollbar-width:none;-ms-overflow-style:none}
.sim-timeline::-webkit-scrollbar{display:none}

/* SH_BETA_0.1 release identification. */
.sim-release-label{flex:0 0 auto;padding:5px 7px;border:1px solid rgba(219,232,111,.32);color:var(--sim-warm);font:6px var(--mono);letter-spacing:.09em;white-space:nowrap}
@media(max-width:900px){.sim-release-label{padding:4px 5px;font-size:5px}.sim-brand-hud{gap:7px}}
@media(max-width:480px){.sim-release-label{display:none}}

@media(max-width:480px){.sim-brand-hud .sim-home{flex-basis:94px;width:94px}.sim-brand-hud #simTimerDock{flex-basis:78px}.guided-case-active #simTimerDock .prep-timer.guided-timer.b1-timer-docked{min-width:76px;padding:3px 5px}.sim-tools #simCoach{display:none}.sim-tools button{font-size:5px;padding:5px}.sim-nav button{font-size:6px;min-height:34px}.sim-nav #simReturnCurrent{width:100%}.fidelity-prep .prep-table{left:29%;width:42%}.fidelity-prep .prep-tower{right:1%;width:35%}.fidelity-prep .prep-mayo{right:1%;width:36%}.fidelity-prep .suction,.fidelity-prep .energy{font-size:5px}.method-device{transform:scale(.82);transform-origin:left center}.bed-suction-target span{font-size:8px}}

/* Only the current PREP action carries the warm next-action treatment. */
.fidelity-prep .prep-hotspot:not(.sim-next):not(.done){border-color:rgba(113,128,127,.36);color:#70807f;opacity:.62}.fidelity-prep .prep-hotspot.sim-next{opacity:1;color:#0b110c;background:var(--sim-warm);font-weight:750}.fidelity-prep .prep-hotspot.drape{top:58%!important}.clip-mark{pointer-events:none}

/* Pilot release: make the operative field, not explanation, carry the interaction. */
.position-world{height:430px}.table-platform{position:absolute;left:10%;top:30px;width:53%;height:360px;transition:.45s;transform-origin:50% 78%}.table-platform:before{content:'';position:absolute;left:9%;right:9%;top:6%;bottom:12%;border:3px solid #60777d;border-radius:70px;background:linear-gradient(90deg,#23343a,#17262c 48%,#283b41);box-shadow:0 25px 38px rgba(0,0,0,.45)}.table-platform .sim-table{left:calc(50% - 85px);top:22px;background:transparent;border:0;box-shadow:none}.table-platform .table-rail{position:absolute;z-index:3;top:18%;bottom:18%;width:5px;background:#9eacaf;box-shadow:0 0 0 2px #42555b}.table-platform .table-rail.left{left:8%}.table-platform .table-rail.right{right:8%}.table-column{position:absolute;z-index:0;left:calc(50% - 28px);bottom:-5px;width:56px;height:95px;background:linear-gradient(90deg,#33464d,#819094,#33464d);clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}
.sim-pelvis{position:absolute;left:48px;top:205px;width:70px;height:56px;border-radius:36%;background:#687f7b}.sim-right-leg,.sim-left-leg{position:absolute;top:247px;width:31px;height:61px;border-radius:0 0 18px 18px;background:#687f7b}.sim-right-leg{left:48px}.sim-left-leg{right:51px}.upper-abdomen-target{position:absolute;left:11px;right:11px;top:24px;height:52px;border:1px dashed rgba(219,232,111,.42);border-radius:30%;transition:.45s}.position-world.head-up .table-platform{transform:perspective(900px) rotateX(-10deg) translateY(-9px)}.position-world.right-up .table-platform{rotate:-6deg}.position-world.head-up.right-up .table-platform{transform:perspective(900px) rotateX(-10deg) translateY(-9px) rotateZ(-6deg)}.position-world.head-up.right-up .upper-abdomen-target{border-color:var(--sim-teal);background:rgba(82,224,196,.08);box-shadow:0 0 15px rgba(82,224,196,.22)}
.position-consequence{right:4%;top:92px;width:31%;height:230px;border:5px solid #314a52;background:radial-gradient(ellipse at 50% 58%,#8c6a43 0 18%,#582f31 19% 68%,#1b1518 70%)}.position-consequence .mini-liver{position:absolute;left:12%;right:12%;top:12%;width:auto;height:46%;border-radius:56% 42% 38% 30%;background:linear-gradient(160deg,#8a493f,#4c2529)}.position-consequence .mini-gallbladder{position:absolute;left:55%;top:41%;width:34px;height:72px;border-radius:50% 50% 35% 35%;background:linear-gradient(90deg,#8a9a61,#526b47);transition:.45s}.position-world.head-up.right-up .position-consequence .mini-gallbladder{transform:translate(22px,-28px) rotate(-13deg);box-shadow:0 0 0 2px var(--sim-teal)}.position-controls{grid-template-columns:repeat(3,1fr)}.position-safety-note{display:block;margin-top:9px;color:var(--sim-muted);font:7px var(--mono)}

.fidelity-prep{height:570px;background:linear-gradient(90deg,rgba(127,167,255,.035) 1px,transparent 1px),linear-gradient(rgba(127,167,255,.035) 1px,transparent 1px),#071116;background-size:26px 26px}.fidelity-prep .prep-table{left:34%;top:10%;width:25%;height:77%;border-radius:48px}.fidelity-prep .prep-patient{inset:20px 35px}.sterile-drape{position:absolute;z-index:4;left:18px;right:18px;top:31%;height:42%;border:2px solid #49756f;background:linear-gradient(135deg,rgba(58,105,97,.94),rgba(28,74,69,.92));clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);opacity:.18;transition:.35s}.fidelity-prep.draped .sterile-drape{opacity:1;box-shadow:0 8px 20px rgba(0,0,0,.3)}.fidelity-prep .drape{left:10%;right:10%;top:34%;width:auto}
.prep-monitor{position:absolute;z-index:4;width:92px;height:62px;border:3px solid #536b73;background:#071215;box-shadow:0 12px 22px rgba(0,0,0,.4)}.prep-monitor i{position:absolute;inset:7px;border:1px solid rgba(127,167,255,.3);background:radial-gradient(circle at 55% 52%,rgba(72,125,112,.26),transparent 44%)}.prep-monitor b{position:absolute;left:0;right:0;bottom:-15px;text-align:center;color:#7e9193;font:6px var(--mono)}.prep-monitor:after{content:'';position:absolute;left:42px;bottom:-34px;width:6px;height:32px;background:#526970}.prep-monitor.left{left:7%;top:5%;transform:rotate(5deg)}.prep-monitor.right{right:30%;top:3%;transform:rotate(-4deg)}.fidelity-prep.image-live .prep-monitor i{border-color:var(--sim-teal);background:radial-gradient(circle at 55% 52%,rgba(82,224,196,.3),transparent 48%);box-shadow:inset 0 0 18px rgba(82,224,196,.15)}
.fidelity-prep .prep-tower{right:3%;top:12%;width:23%;height:39%}.tower-screen{display:block;margin:8px;height:60px;border:2px solid #465e66;background:#061518}.tower-stack{display:block;margin:9px;height:82px;background:repeating-linear-gradient(#17272d 0 18px,#53666a 19px 21px)}.fidelity-prep .camera-light{left:7%;right:7%;top:31%}.fidelity-prep .insufflation{left:7%;right:7%;top:66%}
.fidelity-prep .prep-mayo{right:3%;bottom:7%;width:23%;height:29%}.prep-mayo>i,.prep-backtable>i{display:inline-block;width:9px;height:70px;margin:7px 5px;background:linear-gradient(90deg,#66767b,#dbe3e5,#66767b);transform:rotate(15deg);border-radius:3px}.prep-backtable{position:absolute;left:3%;bottom:5%;width:27%;height:26%;border:2px solid #536d68;background:rgba(25,48,43,.42);transform:skewY(2deg)}.prep-backtable:before{content:'BACK TABLE';display:block;padding:8px;color:#8fa4a8;font:7px var(--mono);letter-spacing:.13em}.prep-backtable>i{height:56px;margin-left:9px;transform:rotate(-12deg)}.fidelity-prep .suction{left:7%;right:7%;top:34%}.fidelity-prep .energy{left:7%;right:7%;bottom:10%}.fidelity-prep .cords{left:4%;bottom:5%;width:25%;height:70px}.fidelity-prep .timeout{left:4%;top:39%;width:25%;height:54px}.prep-cords .route{display:block;position:absolute;left:50%;top:50%;width:2px;height:180px;background:#b27d48;transform-origin:top;transition:.4s}.prep-cords .route.camera{transform:rotate(-64deg)}.prep-cords .route.gas{transform:rotate(-42deg)}.prep-cords .route.suction{transform:rotate(20deg)}.prep-cords .route.energy{transform:rotate(44deg)}.prep-cords.camera-connected .route.camera,.prep-cords.gas-connected .route.gas,.prep-cords.suction-connected .route.suction,.prep-cords.energy-connected .route.energy{background:var(--sim-teal);box-shadow:0 0 9px rgba(82,224,196,.45)}.prep-cords.connected .route{height:100px;transform:rotate(0deg)}

.access-depth{background:#12191b}.wall-layers{position:absolute;inset:18px 22px 42px;display:grid;grid-template-rows:.35fr 1.3fr .55fr .35fr 1.4fr;border:1px solid #26383d;overflow:hidden}.access-depth .wall-layers>i{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;left:auto!important;top:auto!important;rotate:0!important;transform:none!important;border-bottom:1px solid rgba(255,255,255,.16);transition:.35s}.wall-layers .skin{background:#8f5e50}.wall-layers .subcutaneous{background:repeating-linear-gradient(115deg,#c79250 0 7px,#a06c3d 8px 13px)}.wall-layers .fascia{background:#c8b9a4}.wall-layers .peritoneum{background:#7c4b4b}.wall-layers .cavity{background:radial-gradient(circle at 50% 30%,#263f44,#081013)}.wall-layers b{position:absolute;right:6px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.7);font:6px var(--mono)}.access-depth .section-device{position:absolute;z-index:8;width:13px;height:290px;left:49%;top:-190px;background:linear-gradient(90deg,#69777c,#e1e7e8,#69777c);rotate:-14deg;transform-origin:bottom;transition:.45s}.method-veress .access-depth .section-device{width:4px}.method-optical .access-depth .section-device{width:21px;background:linear-gradient(90deg,#53646a 0 20%,#d9e3e6 21% 34%,#1d3d4a 35% 75%,#a5b8bd 76%)}.depth-1 .section-device{transform:translateY(40px)}.depth-2 .section-device{transform:translateY(80px)}.depth-3 .section-device{transform:translateY(130px)}.depth-4 .section-device{transform:translateY(165px)}.depth-5 .section-device{transform:translateY(225px)}.access-depth .section-device>i{position:absolute;left:-8px;bottom:-5px;width:29px;height:12px;background:#d6dfe1;clip-path:polygon(50% 100%,0 0,100% 0)}

.current-port-goal{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;margin:8px 0;padding:11px 13px;border-left:3px solid var(--sim-warm);background:rgba(219,232,111,.045)}.current-port-goal span{grid-row:1/3;font:6px var(--mono);color:var(--sim-warm)}.current-port-goal b{font:9px var(--mono)}.current-port-goal small{color:var(--sim-muted);font-size:10px}.port-token-bank.single{display:grid;grid-template-columns:minmax(260px,440px);margin-bottom:8px}.port-token-bank.single .port-token{display:flex!important;align-items:center;gap:12px;min-height:55px}.placed-trocar{position:absolute;z-index:8;transform:translate(-50%,-50%);width:24px;height:24px;border:3px solid var(--sim-teal);border-radius:50%;background:#0a1718;box-shadow:0 0 0 6px rgba(82,224,196,.07)}.placed-trocar>i{position:absolute;left:7px;top:-33px;width:8px;height:38px;background:linear-gradient(90deg,#667579,#e0e7e9,#667579);transform:rotate(-10deg);transform-origin:bottom}.placed-trocar>b{position:absolute;left:28px;top:0;width:100px;color:var(--sim-teal);font:5px/1.3 var(--mono)}.port-drop-zone.current-target{border-color:var(--sim-warm);background:rgba(219,232,111,.07)}.port-drop-zone>span{position:absolute;left:50%;top:56px;transform:translateX(-50%);width:100px;color:var(--sim-warm);font:5px var(--mono)}.placed-port-status{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:7px}.placed-port-status span{padding:7px;border:1px solid var(--line);color:var(--sim-muted);font:6px var(--mono)}.placed-port-status .done{border-color:rgba(82,224,196,.45);color:var(--sim-teal)}.placed-port-status .current{border-color:rgba(219,232,111,.45);color:var(--sim-warm)}

.coach-field-hint{position:sticky;z-index:40;top:0;float:right;max-width:310px;margin:0 0 8px 12px;padding:10px 12px;border:1px solid var(--sim-warm);border-left-width:4px;background:rgba(11,16,15,.96);box-shadow:0 14px 25px rgba(0,0,0,.28)}.coach-field-hint b,.coach-field-hint span{display:block}.coach-field-hint b{color:var(--sim-warm);font:7px var(--mono)}.coach-field-hint span{margin-top:5px;font-size:10px}.sim-tools #simCoach.needs-attention{border-color:var(--sim-warm);color:var(--sim-warm);animation:simPulse 1.65s infinite}

.divide-chapter>h1{max-width:800px}.divide-field:before{content:'';position:absolute;z-index:6;left:58%;top:45%;width:90px;height:16px;border-radius:12px;background:linear-gradient(90deg,#758b58 0 62%,transparent 63%);transform:rotate(34deg);transform-origin:left}.divide-field:after{content:'';position:absolute;z-index:6;left:61%;top:48%;width:68px;height:8px;border-radius:8px;background:#9f4f43;transform:rotate(-18deg);transform-origin:left}.divide-field .divide-structure{z-index:15}.division-controls>p{margin:0;font-size:10px;line-height:1.35}.cut-site.correct{width:126px;height:52px;border-radius:4px}.cut-site.correct.hold-complete{background:var(--sim-teal);border-color:var(--sim-teal)}.debrief-actions .sim-action span small{display:block;margin-top:5px;color:var(--sim-muted);font:7px/1.35 var(--mono)}
.completion-world .retrieval-bag,.completion-world .specimen{transition:transform .32s cubic-bezier(.2,.85,.2,1),opacity .25s}.completion-world.step-1 .retrieval-bag{transform:translateY(-24px)}.completion-world.step-2 .specimen{transform:translate(18px,54px) scale(.82)}.completion-world.step-3 .retrieval-bag,.completion-world.step-3 .specimen{transform:translate(8px,-105px) scale(.72)}.completion-world.step-4 .retrieval-bag,.completion-world.step-4 .specimen{transform:translate(-48px,-160px) scale(.58)}.completion-world.step-5 .retrieval-bag,.completion-world.step-5 .specimen{transform:translate(-120px,-220px) scale(.42)}

@media(max-width:900px){.position-world{height:620px}.table-platform{left:18%;width:64%;height:340px}.position-consequence{left:8%;right:8%;top:390px;width:auto;height:190px}.position-controls{grid-template-columns:1fr}.fidelity-prep{height:720px}.prep-monitor.left{left:2%;top:3%}.prep-monitor.right{right:35%;top:2%}.fidelity-prep .prep-table{left:33%;top:12%;width:31%;height:62%}.fidelity-prep .prep-tower{right:1%;width:32%}.fidelity-prep .prep-mayo{right:1%;width:32%;bottom:4%}.prep-backtable{left:1%;bottom:4%;width:31%}.fidelity-prep .timeout{left:1%;top:44%;width:30%}.fidelity-prep .cords{left:2%;bottom:4%;width:28%}.placed-port-status{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.table-platform{left:7%;width:86%}.prep-monitor{transform:scale(.72)}.prep-monitor.left{left:-1%}.prep-monitor.right{right:31%}.fidelity-prep .prep-table{left:31%;width:38%}.fidelity-prep .prep-tower{width:35%}.fidelity-prep .prep-mayo{width:36%}.prep-backtable{width:34%}.current-port-goal{grid-template-columns:1fr}.current-port-goal span{grid-row:auto}.port-token-bank.single{grid-template-columns:1fr}.placed-port-status{grid-template-columns:1fr}.coach-field-hint{float:none;max-width:none;margin:0 0 8px}.cut-site.correct{width:105px}.access-depth .wall-layers b{font-size:5px}}

/* Final pre-launch: distinguish pick-up from placement and reveal one port relationship at a time. */
.current-port-goal.in-hand{border-left-color:var(--sim-teal);background:rgba(82,224,196,.055)}.current-port-goal.in-hand span,.current-port-goal.in-hand small{color:var(--sim-teal)}
.port-token.in-hand,.port-token.in-hand.selected{border-color:var(--sim-teal);color:var(--sim-teal);background:rgba(82,224,196,.09);box-shadow:0 12px 24px rgba(0,0,0,.32),0 0 0 3px rgba(82,224,196,.08);transform:translateY(-4px);animation:none}.port-token.in-hand i{border-color:var(--sim-teal);box-shadow:inset 0 0 0 4px #10171c,0 0 12px rgba(82,224,196,.38)}
.port-world:not(.geometry-complete) .placed-trocar{opacity:.55}.relationship-view>em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%;color:#7f9293;text-align:center;font:7px/1.5 var(--mono);font-style:normal}.trajectory-view .focus-shaft{left:51%;bottom:-76px;filter:drop-shadow(0 0 9px rgba(82,224,196,.34))}.trajectory-view .focus-shaft[data-port="camera"]{transform:rotate(0deg)}.trajectory-view .focus-shaft[data-port="epigastric"]{transform:rotate(-17deg)}.trajectory-view .focus-shaft[data-port="rightSubcostal"]{transform:rotate(-31deg)}.trajectory-view .focus-shaft[data-port="rightLateral"]{transform:rotate(-43deg)}.trajectory-view .focus-shaft b{display:block!important;left:9px;top:39%;max-width:155px;white-space:normal;color:var(--sim-teal);font-size:7px}.port-drop-zone.current-target.sim-next{opacity:1!important;border:2px solid var(--sim-warm)!important;background:rgba(219,232,111,.1)!important}.port-world.token-selected .port-drop-zone:not(.current-target){opacity:.24}.port-world.geometry-complete .trajectory-view .camera-shaft,.port-world.geometry-complete .trajectory-view .working-shaft{opacity:1}

/* Progressive orientation screen: original synthetic laparoscopic blueprint. */
.orient-current{display:flex;align-items:center;gap:12px;margin:8px 0 10px;padding:9px 12px;border-left:3px solid var(--sim-warm);background:#0d1518}.orient-current span{color:var(--sim-warm);font:6px var(--mono)}.orient-current b{font:10px var(--mono)}
.orientation-field{height:520px!important;position:relative;background:#151112!important;border:1px solid #334144;box-shadow:inset 0 0 68px rgba(0,0,0,.52)!important;overflow:hidden}.orientation-anatomy{position:absolute;inset:0;width:100%;height:100%}.orientation-anatomy path{fill:none;stroke-linecap:round;stroke-linejoin:round}.orientation-anatomy .svg-liver{fill:#63332f;stroke:#a76057;stroke-width:3}.orientation-anatomy .svg-liver-edge{stroke:#cb8174;stroke-width:4;opacity:.5}.orientation-anatomy .svg-gallbladder{fill:#6d8054;stroke:#b3c48b;stroke-width:4}.orientation-anatomy .svg-cystic{stroke:#91b56f;stroke-width:12}.orientation-anatomy .svg-main-duct,.orientation-anatomy .svg-hepatic{stroke:#667b67;stroke-width:13}.orientation-anatomy .svg-artery{stroke:#a74e47;stroke-width:8}.orientation-anatomy .svg-rouviere{stroke:#c89079;stroke-width:7;opacity:.26}.orientation-anatomy .svg-triangle{stroke:var(--sim-teal);stroke-width:3;stroke-dasharray:10 8;opacity:0}.orientation-anatomy .svg-porta{stroke:var(--sim-amber);stroke-width:5;stroke-dasharray:8 7;opacity:0}.orientation-field.stage-1 .svg-rouviere,.orientation-field.stage-2 .svg-rouviere,.orientation-field.stage-3 .svg-rouviere{opacity:1;filter:drop-shadow(0 0 8px rgba(219,232,111,.25))}.orientation-field.stage-2 .svg-triangle,.orientation-field.stage-3 .svg-triangle{opacity:1}.orientation-field.stage-3 .svg-porta{opacity:1}.orientation-field .orientation-landmark{min-width:54px;min-height:54px;width:54px;height:54px;padding:0;border-radius:50%;display:grid;place-items:center;opacity:1;pointer-events:auto;background:#0c1315}.orientation-field .orientation-landmark.rouviere{left:30%;top:58%}.orientation-field .orientation-landmark.triangle{left:52%;top:57%}.orientation-field .orientation-landmark.porta{left:72%;top:67%}.orientation-field .orientation-landmark.current{border:2px solid var(--sim-warm);color:var(--sim-warm);animation:simPulse 1.65s infinite}.orientation-field .orientation-landmark.done{width:30px;height:30px;min-width:30px;min-height:30px;border-color:var(--sim-teal);color:var(--sim-teal);background:#0d1919;animation:none}.orientation-field .orientation-landmark i{width:14px;height:4px;margin:0}.orientation-field .orientation-landmark span{position:absolute;left:38px;top:50%;transform:translateY(-50%);width:160px;padding:5px 7px;background:rgba(5,10,11,.94);color:inherit;text-align:left;font:7px/1.35 var(--mono)}.orientation-field .orientation-landmark.current span{left:50%;top:62px;transform:translateX(-50%);width:112px;text-align:center}.orientation-key{position:absolute;left:18px;right:18px;bottom:16px;padding:10px 12px;border-left:3px solid var(--sim-teal);background:rgba(6,11,12,.9);color:#d7e0de;font:9px/1.45 var(--mono)}.orientation-findings{display:flex;flex-wrap:wrap;gap:6px}.orientation-findings span{flex:1 1 210px}.orientation-field .arterial-pulse{animation:arterialPulse 1.2s ease infinite}

/* Recognizable atraumatic graspers wherever traction or specimen handling is active. */
.fundus-grasper:before,.neck-grasper:before{content:'';position:absolute;left:-14px;top:8px;width:37px;height:56px;border:6px solid #87969b;border-radius:48%;box-shadow:31px 4px 0 -6px #10171a,31px 4px 0 0 #87969b}.grasper-icon{position:relative;width:82px!important;height:10px!important;border-radius:6px;background:linear-gradient(#e2e9ea,#68767a);transform:rotate(-17deg)}.grasper-icon:before{content:'';position:absolute;left:-29px;top:-16px;width:26px;height:34px;border:5px solid #8c9b9f;border-radius:50%;box-shadow:-22px 0 0 -5px #10171d,-22px 0 0 0 #8c9b9f}.grasper-icon:after{content:'';position:absolute;right:-20px;top:-8px;width:27px;height:22px;border-top:5px solid #d9e2e4;border-bottom:5px solid #d9e2e4;border-radius:0 60% 60% 0}.release-grasper{position:absolute;z-index:18;left:25%;top:-50px;width:220px;height:210px;transform:rotate(23deg);transform-origin:bottom right}.release-grasper .grasper-shaft{position:absolute;left:84px;top:61px;width:12px;height:188px;background:linear-gradient(90deg,#68777b,#e1e8ea,#677579)}.release-grasper .grasper-handle{position:absolute;left:49px;top:8px;width:43px;height:58px;border:7px solid #87969b;border-radius:48%;box-shadow:47px 1px 0 -7px #111719,47px 1px 0 0 #87969b}.release-grasper .grasper-jaw{position:absolute;left:86px;top:239px;width:42px;height:5px;background:#dce4e6;transform-origin:left}.release-grasper .jaw-a{transform:rotate(20deg)}.release-grasper .jaw-b{transform:rotate(-20deg)}.completion-world.step-2 .post-chole-field:after{content:'';position:absolute;z-index:16;left:18%;top:-60px;width:13px;height:270px;background:linear-gradient(90deg,#66757a,#e0e7e9,#657479);transform:rotate(-22deg);box-shadow:0 0 0 1px #526267}

/* Active liver-bed release: each held segment produces visible mobility, then a true final-release payoff. */
.liverbed-field .bed-plane{background:linear-gradient(90deg,var(--sim-teal) 0 25%,rgba(82,224,196,.16) 26%)!important}.liverbed-field.bed-1 .bed-plane{background:linear-gradient(90deg,var(--sim-teal) 0 50%,rgba(82,224,196,.16) 51%)!important}.liverbed-field.bed-2 .bed-plane{background:linear-gradient(90deg,var(--sim-teal) 0 75%,rgba(82,224,196,.16) 76%)!important}.liverbed-field.bed-3 .bed-plane,.liverbed-field.bed-4 .bed-plane{background:var(--sim-teal)!important}.liverbed-field.bed-1 .gallbladder{transform:translate(18px,-20px) rotate(-5deg)!important}.liverbed-field.bed-2 .gallbladder{transform:translate(42px,-40px) rotate(-12deg)!important}.liverbed-field.bed-3 .gallbladder{transform:translate(68px,-56px) rotate(-18deg)!important;animation:gallbladderMobile 1.8s ease-in-out infinite}.liverbed-field.bed-4 .gallbladder{transform:translate(128px,-92px) rotate(-27deg)!important;filter:drop-shadow(0 0 12px rgba(82,224,196,.42))}.bed-plane-target{overflow:hidden;touch-action:none;user-select:none}.bed-plane-target:after{content:'';position:absolute;left:0;bottom:0;width:0;height:6px;background:var(--sim-teal)}.bed-plane-target.holding:after{width:100%;transition:width .36s linear}.bed-plane-target.hold-complete{border-color:var(--sim-teal)}@keyframes gallbladderMobile{50%{transform:translate(74px,-60px) rotate(-14deg)}}

/* Dedicated, time-bounded retrieval beat before Mission Complete. */
.ready-check{max-width:1080px;margin:0 auto}.ready-check-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 0 12px}.ready-check-head span,.ready-check>span{color:var(--sim-warm);font:8px var(--mono)}.ready-check-head h1{max-width:720px;margin:6px 0 0;font-size:38px;line-height:1.05}.ready-countdown{flex:0 0 auto;min-width:120px;padding:13px;border:1px solid var(--sim-warm);color:var(--sim-warm);text-align:center;font:28px var(--mono)}.ready-countdown.expired{border-color:var(--sim-amber);color:var(--sim-amber);animation:simPulse 1.4s 1}.ready-progress{position:relative;height:34px;margin:8px 0 14px;border:1px solid var(--line);overflow:hidden}.ready-progress i{position:absolute;inset:0 auto 0 0;background:rgba(82,224,196,.18);border-right:2px solid var(--sim-teal);transition:.25s}.ready-progress span{position:absolute;left:12px;top:9px;color:#c9d5d3;font:7px var(--mono)}.ready-visual{position:relative;min-height:210px;border:1px solid #314449;background:#0a1215;display:grid;place-items:center;overflow:hidden}.ready-visual b{position:relative;z-index:4;padding:12px 16px;background:rgba(5,10,11,.92);font:18px var(--mono)}.ready-visual i{position:absolute;display:block;border:3px solid #708388}.ready-visual.table i:nth-child(1){width:290px;height:78px;border-radius:44px;transform:rotate(-6deg)}.ready-visual.table i:nth-child(2){width:6px;height:150px;border-color:var(--sim-warm);transform:rotate(-6deg)}.ready-visual.traction i:nth-child(1),.ready-visual.traction i:nth-child(2){width:5px;height:140px;border:0;background:var(--sim-warm)}.ready-visual.traction i:nth-child(1){left:31%;transform:rotate(-20deg)}.ready-visual.traction i:nth-child(2){right:31%;transform:rotate(42deg)}.ready-visual.cvs i:nth-child(1){width:150px;height:125px;clip-path:polygon(50% 0,100% 100%,0 100%);border-color:var(--sim-teal)}.ready-visual.divide i:nth-child(1),.ready-visual.divide i:nth-child(2),.ready-visual.divide i:nth-child(3){width:70px;height:10px;border-color:var(--sim-blue)}.ready-visual.divide i:nth-child(1){left:25%}.ready-visual.divide i:nth-child(2){left:45%}.ready-visual.divide i:nth-child(3){left:65%}.ready-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.ready-options button{min-height:86px;padding:12px;border:1px solid var(--line);background:#0e161a;color:#d8e1df;text-align:left;cursor:pointer;transition:.2s}.ready-options button:hover{border-color:var(--sim-blue);transform:translateY(-2px)}.ready-options button.wrong{border-color:var(--sim-red);color:var(--sim-red)}.ready-options i{display:block;margin-bottom:8px;color:var(--sim-blue);font:7px var(--mono)}.ready-options span{font:9px/1.45 var(--mono)}.ready-check>small{display:block;margin-top:9px;color:var(--sim-muted);font:6px var(--mono)}.ready-check.complete{min-height:420px;display:grid;place-items:center;align-content:center;text-align:center}.ready-check-mark{width:76px;height:76px;border:2px solid var(--sim-teal);border-radius:50%;display:grid;place-items:center;margin-bottom:16px;color:var(--sim-teal);font-size:36px}.ready-check.complete h1{margin:8px 0}.ready-check.complete p{color:var(--sim-muted)}

@media(max-width:760px){.orientation-field{height:470px!important}.orientation-field .orientation-landmark.rouviere{left:18%;top:58%}.orientation-field .orientation-landmark.triangle{left:48%;top:56%}.orientation-field .orientation-landmark.porta{left:69%;top:68%}.orientation-field .orientation-landmark span{left:30px;width:112px;font-size:6px}.orientation-key{font-size:7px}.release-grasper{left:8%;transform:rotate(18deg) scale(.78)}.liverbed-field.bed-3 .gallbladder{animation:none}.ready-check-head{gap:10px}.ready-check-head h1{font-size:26px}.ready-countdown{min-width:86px;padding:10px;font-size:20px}.ready-options{grid-template-columns:1fr}.ready-options button{min-height:60px}.ready-visual{min-height:170px}.ready-visual b{font-size:13px}.trajectory-view .focus-shaft b{display:block!important}}

/* Post-launch experience sprint: larger working surfaces, readable mission chrome,
   and direct spatial manipulation. All visuals remain original CSS/SVG schematics. */
.sim-stage{padding:clamp(14px,1.8vw,28px);align-items:start}.sim-chapter{width:min(1480px,100%)}
.sim-case-id span,.sim-kicker{font-size:10px;line-height:1.4}.sim-case-id h2{font-size:20px}
.sim-tools button,.sim-nav button,.sim-timeline button{font-size:10px;line-height:1.3;min-height:42px}
.sim-timeline{padding-block:8px}.sim-timeline button{padding:7px 6px;text-align:center}
.sim-continuity{font-size:9px;line-height:1.35}.sim-footer{font-size:11px;line-height:1.4}.sim-footer small{font-size:10px}
.role-band{font-size:11px;line-height:1.45}.source-note,.position-safety-note,.orientation-rule{font-size:10px;line-height:1.5}
.mission-objective{grid-template-columns:auto minmax(0,1fr) minmax(220px,auto);gap:4px 15px;margin-bottom:14px;padding:13px 15px}
.mission-objective>span{font-size:9px}.mission-objective>b{font-size:14px}.mission-objective>em,.mission-objective>strong{font-size:10px}
.sim-action{font-size:11px;line-height:1.35}.sim-action small{font-size:9px}.sim-consequence,.mission-cue{font-size:11px;line-height:1.45}
.sim-chapter>p{max-width:760px;font-size:14px;line-height:1.5}

/* 01 POSITION — a table controller changes the whole table, not an answer strip. */
.position-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:stretch}
.position-chapter .position-world{height:clamp(500px,58vh,650px)}
.position-world .table-platform{left:10%;top:11%;width:52%;height:76%;transform-origin:50% 78%;transition:transform .48s cubic-bezier(.2,.8,.2,1),filter .3s}
.position-world .sim-table{transform:none!important;rotate:0deg!important;transition:none!important}
.position-world.head-up .table-platform{transform:perspective(900px) rotateX(-11deg) translateY(-14px)}
.position-world.head-down .table-platform{transform:perspective(900px) rotateX(11deg) translateY(14px)}
.position-world.right-up .table-platform{transform:rotate(-8deg)}
.position-world.left-up .table-platform{transform:rotate(8deg)}
.position-world.head-up.right-up .table-platform{transform:perspective(900px) rotateX(-11deg) translateY(-14px) rotateZ(-8deg);filter:drop-shadow(0 14px 18px rgba(82,224,196,.12))}
.position-world.head-down.right-up .table-platform{transform:perspective(900px) rotateX(11deg) translateY(14px) rotateZ(-8deg)}
.position-world.head-up.left-up .table-platform{transform:perspective(900px) rotateX(-11deg) translateY(-14px) rotateZ(8deg)}
.position-world.head-down.left-up .table-platform{transform:perspective(900px) rotateX(11deg) translateY(14px) rotateZ(8deg)}
.position-world .position-consequence{right:3%;top:18%;width:32%;height:54%}.position-world .position-consequence span{font-size:10px}
.position-status{position:absolute;z-index:15;left:18px;top:16px;display:grid;gap:4px;max-width:58%;padding:9px 11px;border-left:3px solid var(--sim-blue);background:rgba(6,12,15,.9)}
.position-status span{color:var(--sim-blue);font:9px var(--mono);letter-spacing:.12em}.position-status b{font:11px/1.4 var(--mono)}
.table-horizon{position:absolute;z-index:12;left:10%;width:52%;bottom:5%;height:32px;color:#779095;font:8px var(--mono);transition:transform .45s}
.table-horizon i{display:block;width:100%;height:1px;margin-bottom:7px;background:linear-gradient(90deg,transparent,#78919a 15% 85%,transparent)}
.position-world.right-up .table-horizon{transform:rotate(-8deg)}.position-world.left-up .table-horizon{transform:rotate(8deg)}
.table-controller{display:grid;align-content:start;gap:10px;padding:14px;border:1px solid #31484f;background:linear-gradient(155deg,#111a20,#091115);box-shadow:inset 0 0 0 6px rgba(127,167,255,.025)}
.table-controller>div:first-child{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}.table-controller>div:first-child span,.controller-axis>span{color:var(--sim-blue);font:9px var(--mono);letter-spacing:.12em}.table-controller>div:first-child b{font:13px/1.4 var(--mono)}
.table-controller>.sim-action{min-height:54px}.controller-axis{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:4px}.controller-axis>span{grid-column:1/-1;margin-bottom:1px}
.controller-axis button{min-height:60px;padding:10px;border:1px solid #35484d;background:#101a1f;color:#d8e3e1;text-align:left;font:10px/1.35 var(--mono);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.controller-axis button:hover{border-color:var(--sim-blue);transform:translateY(-2px)}.controller-axis button b{display:inline-block;margin-right:5px;color:var(--sim-blue);font-size:17px}.controller-axis button small{display:block;margin-top:4px;color:var(--sim-muted);font-size:8px}
.controller-axis button.done{border-color:var(--sim-teal);background:rgba(82,224,196,.08);color:var(--sim-teal)}.controller-axis button.active-warning{border-color:var(--sim-amber);color:var(--sim-amber)}
.controller-axis .controller-reset{grid-column:1/-1;min-height:38px;padding:7px;text-align:center;color:var(--sim-muted)}

/* 02 PREP — a synthetic room whose objects settle into their functional zones. */
.room-readiness-head{display:flex;justify-content:space-between;gap:14px;margin:0 0 8px;padding:9px 11px;border-left:3px solid var(--sim-warm);background:rgba(219,232,111,.05);font:10px/1.4 var(--mono)}.room-readiness-head span{color:var(--sim-warm)}.room-readiness-head b{color:#cbd5d3}
.fidelity-prep{height:clamp(580px,65vh,720px);min-height:580px;isolation:isolate}
.room-zone{position:absolute;z-index:0;display:grid;place-items:center;border:1px dashed rgba(127,167,255,.18);background:rgba(127,167,255,.018);color:rgba(127,167,255,.42);font:8px var(--mono);font-style:normal;letter-spacing:.08em;pointer-events:none}
.monitor-zone{left:4%;right:28%;top:2%;height:21%}.sterile-zone{left:29%;top:18%;width:37%;height:67%}.movement-zone{left:2%;right:2%;bottom:2%;height:19%}
.fidelity-prep .prep-monitor,.fidelity-prep .prep-table,.fidelity-prep .prep-tower,.fidelity-prep .prep-mayo,.fidelity-prep .prep-backtable{transition:transform .45s cubic-bezier(.2,.85,.2,1),border-color .3s,box-shadow .3s}
.fidelity-prep .prep-monitor.left{transform:translate(-18px,18px) rotate(14deg)}.fidelity-prep .prep-monitor.right{transform:translate(22px,-3px) rotate(-14deg)}
.fidelity-prep.image-live .prep-monitor.left{transform:rotate(3deg)}.fidelity-prep.image-live .prep-monitor.right{transform:rotate(-3deg)}
.fidelity-prep .prep-tower{transform:translate(18px,10px)}.fidelity-prep.image-live .prep-tower{transform:none;border-color:var(--sim-teal);box-shadow:0 0 22px rgba(82,224,196,.09)}
.fidelity-prep .prep-mayo{transform:translate(18px,20px) rotate(5deg)}.fidelity-prep.suction-live.energy-live .prep-mayo{transform:skewY(-2deg);border-color:rgba(82,224,196,.62)}
.fidelity-prep .prep-backtable{transform:translate(-18px,20px) rotate(-4deg)}.fidelity-prep.workspace-clear .prep-backtable{transform:skewY(2deg)}
.fidelity-prep .prep-table{border-radius:22px;background:linear-gradient(90deg,#17252c,#273a40 48%,#17252c);box-shadow:0 18px 28px rgba(0,0,0,.4)}
.fidelity-prep .prep-table:before,.fidelity-prep .prep-table:after{content:'';position:absolute;z-index:1;left:16%;right:16%;height:15%;border:2px solid #526970;background:#162229}.fidelity-prep .prep-table:before{top:1%;border-radius:14px 14px 5px 5px}.fidelity-prep .prep-table:after{bottom:1%;border-radius:5px 5px 14px 14px}
.fidelity-prep .prep-patient{z-index:3;inset:8% 24%;border-radius:26px;background:none}.prep-patient .prep-head{position:absolute;left:50%;top:1%;width:42px;height:42px;transform:translateX(-50%);border-radius:50%;background:#91a8a3}.prep-patient .prep-torso{position:absolute;left:50%;top:11%;width:70px;height:48%;transform:translateX(-50%);border-radius:28px 28px 16px 16px;background:#6f8983}.prep-patient .prep-legs{position:absolute;left:50%;top:58%;width:63px;height:38%;transform:translateX(-50%);border-radius:8px;background:linear-gradient(90deg,#6f8983 0 44%,transparent 45% 55%,#6f8983 56%)}
.mobile-table-rail{position:absolute;z-index:6;top:13%;bottom:13%;width:5px;background:#9baaad;box-shadow:0 0 0 2px #42555b}.mobile-table-rail.left{left:8%}.mobile-table-rail.right{right:8%}
.fidelity-prep.patient-secure .prep-table{border-color:rgba(82,224,196,.55)}.fidelity-prep.patient-secure .prep-patient:after{content:'';position:absolute;left:4%;right:4%;top:38%;height:5px;background:var(--sim-teal);box-shadow:0 0 9px rgba(82,224,196,.35)}
.fidelity-prep.footboard-ready .prep-table:after{border-color:var(--sim-teal);box-shadow:0 6px 14px rgba(82,224,196,.13)}
.fidelity-prep .prep-hotspot:not(.sim-next):not(.done){opacity:.9;color:#aebcba;border-color:#45575a}.fidelity-prep .prep-hotspot:not(.done):hover{border-color:var(--sim-blue);color:white;transform:translateY(-2px)}
.fidelity-prep .timeout.locked{opacity:.38!important;filter:grayscale(1);cursor:not-allowed}.fidelity-prep .timeout.available{opacity:1}
.prep-mayo>.mayo-tool,.prep-backtable>.backtable-tool{position:absolute;display:block;margin:0;background:linear-gradient(90deg,#66767b,#dbe3e5,#66767b);border-radius:3px;transform-origin:center;pointer-events:none}
.prep-mayo>.mayo-tool{top:40%;width:7px;height:42%;}.prep-mayo>.mayo-tool.grasper{left:26%;transform:rotate(13deg)}.prep-mayo>.mayo-tool.hook{left:50%;transform:rotate(-5deg)}.prep-mayo>.mayo-tool.hook:after{content:'';position:absolute;left:-2px;bottom:-7px;width:9px;height:9px;border:2px solid #dbe3e5;border-top:0;border-left:0}.prep-mayo>.mayo-tool.suction-tip{left:72%;transform:rotate(-15deg)}
.prep-backtable:before{display:none}.prep-backtable>b{display:block;padding:8px;color:#8fa4a8;font:9px var(--mono);letter-spacing:.12em}.prep-backtable>.backtable-tray{position:absolute;left:8%;right:8%;top:27%;height:56%;border:1px solid #506963;background:rgba(82,224,196,.035)}.prep-backtable>.backtable-tool{top:38%;width:8px;height:45%}.prep-backtable>.clipper{left:29%;transform:rotate(-12deg)}.prep-backtable>.scissors{left:51%;transform:rotate(7deg)}.prep-backtable>.atraumatic{left:72%;transform:rotate(-5deg)}
.fidelity-prep.gas-live .tower-stack{box-shadow:inset 0 -20px rgba(82,224,196,.12)}.fidelity-prep.suction-live .prep-mayo .suction-tip,.fidelity-prep.energy-live .prep-mayo .hook{filter:drop-shadow(0 0 6px var(--sim-teal))}

/* 03 ENTER — scene first, current action beside it, and visible device travel. */
.access-now{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 12px;margin:0 0 9px;padding:10px 12px;border-left:4px solid var(--sim-warm);background:rgba(219,232,111,.055)}.access-now span{grid-row:1/3;color:var(--sim-warm);font:9px var(--mono)}.access-now b{font:13px/1.35 var(--mono)}
.access-rehearsal-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:10px;align-items:stretch}.access-rehearsal-layout .access-world{height:clamp(480px,57vh,620px);margin:0}.access-action-rail{grid-template-columns:1fr;align-content:start;gap:7px;margin:0;padding:10px;border:1px solid #2d4248;background:#0b1216}.access-action-rail .sim-action{min-height:54px}.access-action-rail .sim-action.done{opacity:.68}.access-action-rail .sim-action.sim-next{background:rgba(219,232,111,.09)}
.access-world .access-instrument,.access-depth .section-device{transition:transform .5s cubic-bezier(.18,.82,.2,1),width .35s,filter .3s}.access-world.step-1 .access-instrument,.access-world.step-1 .section-device{filter:drop-shadow(0 0 8px rgba(219,232,111,.38))}.access-world.step-2 .access-instrument,.access-world.step-3 .access-instrument,.access-world.step-4 .access-instrument,.access-world.step-5 .access-instrument{filter:drop-shadow(0 0 8px rgba(82,224,196,.28))}
.wall-layers b,.abdomen-surface>span,.access-depth>span{font-size:9px;line-height:1.3}.text-action{min-height:44px;font-size:10px}

@media(min-width:1500px){.sim-chapter{width:min(1600px,100%)}.position-layout{grid-template-columns:minmax(0,1fr) 340px}.access-rehearsal-layout{grid-template-columns:minmax(0,1fr) 340px}.fidelity-prep .prep-table{left:36%;width:22%}.fidelity-prep .prep-tower{width:21%}.fidelity-prep .prep-mayo{width:21%}}

@media(max-width:900px){
  .sim-stage{padding:12px 9px}.sim-chapter{width:100%}.sim-case-id h2{font-size:13px}.sim-timeline button{font-size:8px}.sim-continuity{display:none}.role-band{font-size:10px}
  .mission-objective{grid-template-columns:auto 1fr}.mission-objective>strong{grid-column:1/-1;grid-row:auto;max-width:none;text-align:left}.mission-objective>b{font-size:12px}
  .position-layout,.access-rehearsal-layout{grid-template-columns:1fr}.position-chapter .position-world{height:570px}.table-controller{grid-template-columns:1fr 1fr}.table-controller>div:first-child,.table-controller>.sim-action{grid-column:1/-1}.controller-axis{align-content:start}.access-rehearsal-layout .access-world{height:560px}.access-action-rail{grid-template-columns:1fr 1fr}.access-action-rail .sim-action{min-height:58px}
  .fidelity-prep{height:700px}.fidelity-prep .prep-table{left:33%;top:15%;width:34%;height:59%;border-radius:18px}.fidelity-prep .prep-patient{inset:7% 23%}.fidelity-prep .prep-tower{right:1%;top:17%;width:31%;height:36%}.fidelity-prep .prep-mayo{right:1%;bottom:4%;width:32%;height:29%}.fidelity-prep .prep-backtable{left:1%;bottom:4%;width:31%;height:29%}.fidelity-prep .prep-monitor.left{left:3%;top:3%}.fidelity-prep .prep-monitor.right{right:3%;top:3%}.fidelity-prep .timeout{left:2%;top:30%;width:28%}.fidelity-prep .cords{left:2%;bottom:35%;width:27%;height:62px}.monitor-zone{right:2%}.sterile-zone{left:31%;top:13%;width:38%;height:64%}.movement-zone{height:22%}
}

@media(max-width:560px){
  .sim-header{grid-template-columns:minmax(0,1fr) auto}.sim-brand-hud .sim-home{flex-basis:96px}.sim-tools button,.sim-nav button{font-size:8px;min-height:40px}.sim-tools #simCoach{display:none}.sim-timeline{grid-template-columns:repeat(7,92px);overflow-x:auto}.sim-timeline button{font-size:8px;min-height:44px}.sim-footer span{font-size:10px}.sim-footer small{display:none}
  .sim-chapter h1{font-size:30px}.sim-kicker{font-size:9px}.sim-chapter>p{font-size:13px}.role-band{padding:8px;font-size:9px}.mission-objective>span{font-size:8px}.mission-objective>strong{font-size:9px}
  .position-chapter .position-world{height:500px}.position-world .table-platform{left:5%;top:13%;width:58%;height:68%}.position-world .position-consequence{right:2%;top:25%;width:34%;height:43%;padding:5px}.position-world .position-consequence span{font-size:8px}.position-status{left:8px;top:9px;max-width:78%;padding:7px}.position-status b{font-size:9px}.table-horizon{left:5%;width:58%;bottom:7%}.table-controller{grid-template-columns:1fr;padding:10px}.table-controller>div:first-child,.table-controller>.sim-action,.controller-axis{grid-column:1}.controller-axis button{min-height:58px}.controller-axis .controller-reset{min-height:42px}
  .room-readiness-head{display:grid;font-size:9px}.fidelity-prep{height:760px;min-height:760px}.fidelity-prep .prep-table{left:34%;top:15%;width:32%;height:53%;border-radius:14px}.fidelity-prep .prep-patient{inset:7% 17%}.prep-patient .prep-head{width:30px;height:30px}.prep-patient .prep-torso{width:48px}.prep-patient .prep-legs{width:45px}.fidelity-prep .prep-tower{right:1%;top:17%;width:32%;height:34%}.fidelity-prep .prep-mayo{right:1%;bottom:3%;width:32%;height:29%}.fidelity-prep .prep-backtable{left:1%;bottom:3%;width:32%;height:29%}.fidelity-prep .prep-monitor{width:72px;height:50px}.fidelity-prep .prep-monitor.left{left:1%;top:3%;transform:translate(-6px,10px) rotate(11deg)}.fidelity-prep .prep-monitor.right{right:1%;top:3%;transform:translate(7px,0) rotate(-11deg)}.fidelity-prep .timeout{left:1%;top:29%;width:31%;height:60px}.fidelity-prep .cords{left:1%;bottom:34%;width:31%;height:60px}.fidelity-prep .prep-hotspot{font-size:7px;min-height:44px}.fidelity-prep .drape{left:3%;right:3%}.fidelity-prep .strap{left:3%;right:3%}.fidelity-prep .footboard{left:3%;right:3%}.room-zone{font-size:6px}.sterile-zone{left:31%;width:38%}
  .access-now{grid-template-columns:1fr}.access-now span{grid-row:auto}.access-now b{font-size:11px}.access-rehearsal-layout .access-world{height:540px;grid-template-columns:1fr;grid-template-rows:1fr 1fr}.access-action-rail{grid-template-columns:1fr}.access-action-rail .sim-action{min-height:54px}.wall-layers b,.abdomen-surface>span,.access-depth>span{font-size:8px}
}

@media(prefers-reduced-motion:reduce){.position-world .table-platform,.fidelity-prep .prep-monitor,.fidelity-prep .prep-table,.fidelity-prep .prep-tower,.fidelity-prep .prep-mayo,.fidelity-prep .prep-backtable,.access-world .access-instrument,.access-depth .section-device{transition:none!important}}

/* SPRINT 2 · SURGICAL FIDELITY + PROCEDURAL MOTION
   A reusable mechanical silhouette system: handle → hinge/rotator → shaft → working end. */
.sim-header{grid-template-columns:410px minmax(145px,auto) minmax(180px,1fr) auto}
.sim-brand-hud .sim-home{flex:0 0 265px;width:265px;height:64px;overflow:hidden}.sim-home img{object-fit:cover;object-position:center;transform:scale(.82)}
.surgical-instrument{--metal-a:#66777d;--metal-b:#e7eef0;--metal-c:#839398;position:relative;display:block;width:230px;height:72px;overflow:visible;transform-origin:center;pointer-events:none}
.surgical-instrument .mechanical,.surgical-instrument i,.surgical-instrument b{position:absolute;display:block;box-sizing:border-box;margin:0;border:0;background:none;float:none}
.surgical-instrument .long-shaft{left:61px;top:32px;width:145px;height:8px;border:1px solid #5c6d72;border-radius:5px;background:linear-gradient(#f0f4f5 0 28%,#89979b 32% 68%,#4d5c61 72%)}
.surgical-instrument .rotator{left:49px;top:24px;width:22px;height:24px;border:2px solid #8b9ca1;border-radius:5px;background:repeating-linear-gradient(90deg,#233138 0 3px,#78878b 3px 5px)}

/* Kocher/Ochsner: paired finger rings, ratchet, box lock, crossing shanks, serrated jaws, 1×2 toothed tip. */
.instrument-kocher .handle-rings{left:0;top:13px;width:59px;height:45px}.instrument-kocher .ring-a,.instrument-kocher .ring-b{top:0;width:32px;height:42px;border:5px solid #94a4a8!important;border-radius:50%;background:#10171b!important}.instrument-kocher .ring-a{left:0}.instrument-kocher .ring-b{left:31px}.instrument-kocher .ratchet{left:26px;top:17px;width:25px;height:8px;background:repeating-linear-gradient(90deg,#a8b6b9 0 2px,transparent 2px 4px)}
.instrument-kocher .hinge{left:67px;top:29px;width:15px;height:15px;border:3px solid #aab7ba;border-radius:50%;background:#536369}
.instrument-kocher .shank{left:54px;top:33px;width:126px;height:6px;border-radius:4px;background:linear-gradient(#edf2f3,#69787d);transform-origin:left center}.instrument-kocher .shank-a{transform:rotate(-6deg)}.instrument-kocher .shank-b{transform:rotate(6deg)}
.instrument-kocher .jaw{left:173px;top:26px;width:48px;height:10px;border:2px solid #dbe4e6;border-radius:0 70% 40% 0;background:repeating-linear-gradient(90deg,#dce5e7 0 3px,#718086 3px 4px);transform-origin:left center}.instrument-kocher .jaw-a{transform:rotate(-9deg)}.instrument-kocher .jaw-b{top:37px;transform:rotate(9deg)}.instrument-kocher .jaw i{right:-5px;top:1px;width:8px;height:8px!important;border:0!important;background:linear-gradient(135deg,transparent 42%,#edf3f4 43% 62%,transparent 63%)!important}
.instrument-kocher.motion-elevate .jaw-a{transform:rotate(-2deg)}.instrument-kocher.motion-elevate .jaw-b{transform:rotate(2deg)}

/* Atraumatic laparoscopic bowel grasper: ergonomic handle, rotating collar, long shaft, blunt fenestrated jaws. */
.instrument-bowel-grasper .lap-handle{left:0;top:13px;width:52px;height:45px;border:6px solid #7f9095;border-radius:42% 45% 35% 48%;background:#172229}.instrument-bowel-grasper .lap-handle i{left:12px;top:8px;width:20px;height:20px;border:3px solid #b5c1c4!important;border-radius:50%;background:#0c1215!important}.instrument-bowel-grasper .jaw{left:200px;top:25px;width:34px;height:10px;border:3px solid #d5dfe1;border-radius:70% 95% 80% 30%;background:transparent;transform-origin:left center}.instrument-bowel-grasper .jaw-a{transform:rotate(-13deg)}.instrument-bowel-grasper .jaw-b{top:37px;transform:rotate(13deg)}.instrument-bowel-grasper .jaw i{left:7px;top:1px;width:19px;height:4px;border:1px solid #a8b8bb!important;border-radius:50%;background:#111a1e!important}.instrument-bowel-grasper.motion-selected .jaw-a,.instrument-bowel-grasper.motion-selected .jaw-b{filter:drop-shadow(0 0 5px var(--sim-teal))}
@keyframes shGrasperA{0%{transform:rotate(-16deg)}55%,100%{transform:rotate(-2deg)}}@keyframes shGrasperB{0%{transform:rotate(16deg)}55%,100%{transform:rotate(2deg)}}
.instrument-bowel-grasper.motion-operative .jaw-a{animation:shGrasperA .62s ease both}.instrument-bowel-grasper.motion-operative .jaw-b{animation:shGrasperB .62s ease both}

/* Suction/irrigator: tubing, valve handpiece, long tubular probe, open lumen, visible aspiration. */
.instrument-suction .tubing{left:-19px;top:33px;width:39px;height:30px;border:5px solid #4d7c89;border-top:0;border-right:0;border-radius:0 0 0 28px}.instrument-suction .handpiece{left:10px;top:15px;width:55px;height:42px;border:3px solid #91a2a7;border-radius:8px;background:linear-gradient(135deg,#304248,#111a1f)}.instrument-suction .handpiece i,.instrument-suction .handpiece b{top:8px;width:14px;height:16px;border:2px solid #b5c1c4!important;border-radius:3px;background:#203038!important}.instrument-suction .handpiece i{left:9px}.instrument-suction .handpiece b{left:30px}.instrument-suction .lumen{left:204px;top:29px;width:17px;height:15px;border:4px solid #dce5e7;border-radius:50%;background:#071014}.instrument-suction .flow{left:215px;top:11px;width:32px;height:48px}.instrument-suction .flow i{right:0;width:5px;height:5px;border-radius:50%;background:var(--sim-teal)!important;opacity:0}.instrument-suction .flow i:nth-child(1){top:2px}.instrument-suction .flow i:nth-child(2){top:20px}.instrument-suction .flow i:nth-child(3){top:38px}
@keyframes shAspirate{0%{opacity:0;transform:translateX(16px) scale(1)}45%{opacity:.9}100%{opacity:0;transform:translateX(-10px) scale(.35)}}.instrument-suction.motion-operative .flow i{animation:shAspirate .8s ease infinite}.instrument-suction.motion-operative .flow i:nth-child(2){animation-delay:.18s}.instrument-suction.motion-operative .flow i:nth-child(3){animation-delay:.36s}

/* Laparoscopic clip applier: grip, cartridge/rotator, shaft, paired jaws and a seated U-shaped clip. */
.instrument-clip-applier .lap-handle{left:0;top:8px;width:58px;height:56px;border:7px solid #7f8e93;border-radius:44% 38% 48% 44%;background:#172228}.instrument-clip-applier .lap-handle i{left:15px;top:11px;width:23px;height:25px;border:3px solid #b3bfc2!important;border-radius:45%;background:#0d1418!important}.instrument-clip-applier .cartridge{left:42px;top:21px;width:33px;height:32px;border:3px solid #8fa0a5;border-radius:6px;background:repeating-linear-gradient(90deg,#25353b 0 4px,#65757a 4px 6px)}.instrument-clip-applier .rotator{left:70px}.instrument-clip-applier .long-shaft{left:87px;width:115px}.instrument-clip-applier .jaw{left:198px;top:24px;width:34px;height:8px;border:3px solid #dbe4e6;border-left:0;border-radius:0 80% 30% 0;transform-origin:left center}.instrument-clip-applier .jaw-a{transform:rotate(-17deg)}.instrument-clip-applier .jaw-b{top:40px;transform:rotate(17deg)}.instrument-clip-applier .seated-clip{left:211px;top:25px;width:18px;height:24px;border:3px solid #e9d96d;border-left-color:transparent;border-radius:0 8px 8px 0;opacity:0;transform:scaleX(.8)}
.instrument-clip-applier.motion-selected .jaw-a,.instrument-clip-applier.motion-selected .jaw-b{filter:drop-shadow(0 0 5px var(--sim-teal))}.divide-field.angle-safe .clip-applier .seated-clip{opacity:1}
@keyframes shClipJawA{0%{transform:rotate(-17deg)}60%,100%{transform:rotate(-3deg)}}@keyframes shClipJawB{0%{transform:rotate(17deg)}60%,100%{transform:rotate(3deg)}}@keyframes shClipForm{0%{transform:scaleX(.85);border-radius:0 8px 8px 0}100%{transform:scaleX(.38);border-radius:7px}}
.divide-field.clip-stage-1 .clip-applier .jaw-a,.divide-field.clip-stage-2 .clip-applier .jaw-a{animation:shClipJawA .38s ease both}.divide-field.clip-stage-1 .clip-applier .jaw-b,.divide-field.clip-stage-2 .clip-applier .jaw-b{animation:shClipJawB .38s ease both}.divide-field.clip-stage-1 .clip-applier .seated-clip,.divide-field.clip-stage-2 .clip-applier .seated-clip{animation:shClipForm .38s ease both}

/* Instrument cards share the same silhouettes at a compact inspection scale. */
.instrument-bank button .surgical-instrument{width:230px;max-width:100%;transform:scale(.64);transform-origin:center;margin:-8px -40px -12px}.dissect-instruments button{overflow:hidden}.dissect-instruments button .surgical-instrument{transform:scale(.55);margin:-12px -50px -16px}.access-choice .method-device .surgical-instrument{position:absolute;left:0;top:2px;transform:scale(.9);transform-origin:left center}.method-device .surgical-instrument i{position:absolute!important;display:block!important;margin:0!important;float:none!important}.method-device .hasson-mini-sequence{position:absolute;left:10px;right:0;bottom:-2px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.hasson-mini-sequence i{position:static!important;width:auto!important;height:auto!important;padding:3px 2px;border:1px solid rgba(127,167,255,.28)!important;border-radius:0!important;background:#0f171c!important;color:#93a6aa;font:6px var(--mono);text-align:center}.hasson-device>.blunt-cannula{position:absolute!important;right:5px!important;top:6px!important;width:21px!important;height:58px!important;border:0!important;border-radius:7px!important;background:linear-gradient(90deg,#526166,#d9e4e6 45%,#647378)!important}.hasson-device>.blunt-cannula i{left:3px;right:3px;bottom:4px;height:12px;border:2px solid #aebdc0!important;border-radius:50%!important}

/* Open/Hasson now reads as a technique: incision → fascial edge control/elevation → open aperture → blunt cannula. */
.method-hasson .access-instrument{display:none}.hasson-technique{position:absolute;z-index:13;left:19%;right:18%;top:25%;height:58%;pointer-events:none}.hasson-skin-incision{position:absolute;z-index:3;left:41%;top:29%;width:58px;height:6px;border-radius:8px;background:linear-gradient(#391116,#963f48 45%,#2c0d12 52%);opacity:0;transform:rotate(-5deg)}.hasson-fascia{position:absolute;z-index:2;left:31%;top:45%;width:130px;height:58px;opacity:.25}.hasson-fascia .edge{position:absolute;top:17px;width:56px;height:23px;border:5px solid #ddc7a2;background:#4b2b29}.hasson-fascia .edge.left{left:0;border-radius:60% 12% 12% 60%}.hasson-fascia .edge.right{right:0;border-radius:12% 60% 60% 12%}.hasson-fascia .aperture{position:absolute;z-index:2;left:52px;top:15px;width:24px;height:28px;border-radius:50%;background:#180c0d;box-shadow:0 0 0 2px #b69576;transform:scaleX(.15)}.hasson-kocher{position:absolute;z-index:8;width:230px;height:72px;opacity:0;transform-origin:right center}.hasson-kocher.left{left:-78px;top:29%;transform:rotate(11deg) scale(.52)}.hasson-kocher.right{right:-58px;top:35%;transform:rotate(172deg) scale(.52)}.hasson-cannula{position:absolute;z-index:10;left:48%;top:-40%;width:35px;height:190px;border:3px solid #8d9da2;border-radius:8px;background:linear-gradient(90deg,#526166,#e0e8e9 43% 58%,#58686d);transform:translate(-50%,-120px);opacity:0}.hasson-cannula:before{content:'';position:absolute;left:-12px;right:-12px;bottom:21px;height:18px;border:4px solid #9fafb2;border-radius:50%;background:#172227}.hasson-cannula i{left:6px;right:6px;bottom:4px;height:18px;border:3px solid #9aa9ad;border-radius:50%;background:#0b1115}.hasson-gas-ring{position:absolute;left:50%;top:54%;width:36px;height:36px;border:2px solid var(--sim-teal);border-radius:50%;opacity:0;transform:translate(-50%,-50%)}
.hasson-technique.stage-2 .hasson-skin-incision,.hasson-technique.stage-3 .hasson-skin-incision,.hasson-technique.stage-4 .hasson-skin-incision,.hasson-technique.stage-5 .hasson-skin-incision,.hasson-technique.stage-6 .hasson-skin-incision,.hasson-technique.stage-7 .hasson-skin-incision{opacity:1}.hasson-technique.stage-3 .hasson-fascia,.hasson-technique.stage-4 .hasson-fascia,.hasson-technique.stage-5 .hasson-fascia,.hasson-technique.stage-6 .hasson-fascia,.hasson-technique.stage-7 .hasson-fascia{opacity:1;filter:drop-shadow(0 0 8px rgba(219,232,111,.25))}.hasson-technique.stage-3 .hasson-kocher,.hasson-technique.stage-4 .hasson-kocher,.hasson-technique.stage-5 .hasson-kocher,.hasson-technique.stage-6 .hasson-kocher,.hasson-technique.stage-7 .hasson-kocher{opacity:1}.hasson-technique.stage-4 .hasson-fascia .edge.left,.hasson-technique.stage-5 .hasson-fascia .edge.left,.hasson-technique.stage-6 .hasson-fascia .edge.left,.hasson-technique.stage-7 .hasson-fascia .edge.left{transform:translateX(-15px) rotate(-5deg)}.hasson-technique.stage-4 .hasson-fascia .edge.right,.hasson-technique.stage-5 .hasson-fascia .edge.right,.hasson-technique.stage-6 .hasson-fascia .edge.right,.hasson-technique.stage-7 .hasson-fascia .edge.right{transform:translateX(15px) rotate(5deg)}.hasson-technique.stage-4 .hasson-fascia .aperture,.hasson-technique.stage-5 .hasson-fascia .aperture,.hasson-technique.stage-6 .hasson-fascia .aperture,.hasson-technique.stage-7 .hasson-fascia .aperture{transform:scaleX(1.25)}.hasson-technique.stage-6 .hasson-cannula,.hasson-technique.stage-7 .hasson-cannula{opacity:1;transform:translate(-50%,35px);transition:transform .55s cubic-bezier(.2,.85,.2,1)}.hasson-technique.stage-7 .hasson-gas-ring{animation:shGasRing 1.1s ease infinite}@keyframes shGasRing{0%{opacity:.8;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}

/* Operative-field motion: the working end reaches the tissue and visibly changes state. */
.field-instrument{position:absolute;z-index:21;left:34%;top:57%;width:230px;height:72px;transform:rotate(-31deg);transform-origin:right center;filter:drop-shadow(0 7px 8px rgba(0,0,0,.45));pointer-events:none}.dissect-field.tool-suction .field-instrument{left:31%;top:56%;transform:rotate(-27deg)}.dissect-field.tool-grasper .tool-effect,.dissect-field.tool-suction .tool-effect{opacity:0!important}.dissect-field.tool-suction:after{content:'';position:absolute;z-index:15;left:48%;top:56%;width:110px;height:54px;border-radius:50%;background:radial-gradient(ellipse,rgba(82,224,196,.2),rgba(82,224,196,0) 70%);animation:shFieldClear 1s ease infinite}@keyframes shFieldClear{0%{opacity:.2;transform:scale(1.1)}70%{opacity:.75;transform:scale(.55)}100%{opacity:0;transform:scale(.35)}}

/* Clip applier field choreography: approach → encompass → seated clip → close/form; formed clips remain. */
.lap-tool.clip-applier{right:2%;bottom:16%;width:250px;height:86px;background:none!important;transform:rotate(-29deg);animation:shClipApproach .46s ease both}.lap-tool.clip-applier:before,.lap-tool.clip-applier:after,.lap-tool.clip-applier>.clip-jaws{content:none!important;display:none!important}.lap-tool.clip-applier .surgical-instrument{width:250px}.divide-field.angle-unsafe .clip-applier{transform:rotate(-6deg)!important}.divide-field.angle-safe .clip-applier{transform:rotate(-29deg)!important}@keyframes shClipApproach{from{opacity:0;translate:120px 80px}to{opacity:1;translate:0 0}}

/* Retrieval is two meaningful actions, not six continue clicks. The first click runs a continuous bag sequence. */
.completion-world .completion-actions{display:grid;align-content:center;gap:12px;min-height:170px}.extraction-control{position:relative;min-height:82px;padding:14px 16px;border:2px solid var(--sim-warm);background:#111713;color:var(--sim-warm);text-align:left;font:10px/1.35 var(--mono);cursor:pointer;overflow:hidden}.extraction-control b,.extraction-control small{display:block}.extraction-control small{margin-top:7px;color:#c8d2c6;font-size:8px}.extraction-control.hold-control:after{content:'';position:absolute;left:0;bottom:0;width:0;height:6px;background:var(--sim-teal)}.extraction-control.hold-control.holding:after{width:100%;transition:width .65s linear}.extraction-motion-status{display:grid;grid-template-columns:28px 1fr;gap:4px 9px;align-items:center;padding:14px;border:1px solid rgba(82,224,196,.5);color:var(--sim-teal);font:9px/1.4 var(--mono)}.extraction-motion-status i{grid-row:1/3;width:22px;height:22px;border:3px solid rgba(82,224,196,.25);border-top-color:var(--sim-teal);border-radius:50%;animation:shRotate .7s linear infinite}.extraction-motion-status small{color:var(--sim-muted)}@keyframes shRotate{to{transform:rotate(360deg)}}
.extraction-path{position:absolute;z-index:7;left:50%;top:7%;width:3px;height:74%;background:linear-gradient(var(--sim-blue),rgba(127,167,255,0));opacity:.35}.completion-world.step-0 .retrieval-bag{opacity:0!important;transform:translate(185px,90px) scale(.45)!important}.completion-world.step-0 .specimen{opacity:1!important}.completion-world.step-4 .retrieval-bag{opacity:1!important;animation:shBagSecure 1.55s cubic-bezier(.18,.8,.2,1) both}.completion-world.step-4 .specimen{z-index:9;animation:shSpecimenSecure 1.55s cubic-bezier(.18,.8,.2,1) both}.completion-world.step-5 .retrieval-bag{opacity:1!important;animation:shBagWithdraw .9s cubic-bezier(.2,.78,.2,1) both}.completion-world.step-5 .specimen{z-index:9;opacity:1!important;animation:shSpecimenWithdraw .9s cubic-bezier(.2,.78,.2,1) both}
@keyframes shBagSecure{0%{opacity:0;transform:translate(180px,80px) scale(.5)}24%{opacity:1;transform:translate(0,0) scale(.72,1.05)}52%{transform:translate(0,0) scale(1.16,1)}78%{transform:translate(0,0) scale(1.16,1)}100%{transform:translate(0,0) scale(.88,1)}}@keyframes shSpecimenSecure{0%,35%{transform:none}74%{transform:translate(-4px,105px) scale(.7)}100%{transform:translate(-4px,105px) scale(.66)}}@keyframes shBagWithdraw{0%{transform:translate(0,0) scale(.88,1)}100%{opacity:.1;transform:translate(-15px,-245px) scale(.34)}}@keyframes shSpecimenWithdraw{0%{transform:translate(-4px,105px) scale(.66)}100%{opacity:.1;transform:translate(-20px,-155px) scale(.24)}}

/* Fascial closure: original schematic of edges, needle travel, crossing path and approximation. */
.closure-world{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}.closure-port{min-height:390px;background:linear-gradient(#713f36 0 23%,#ce8c77 24% 38%,#d1bd92 39% 51%,#6d3934 52% 69%,#391e1d 70%)}.closure-port>.skin-layer{left:50%;top:18%;width:150px;height:17px;border-radius:50%;background:#38191c}.fascial-model{position:absolute;left:10%;right:10%;top:37%;height:185px;border:1px solid rgba(219,232,111,.16);background:radial-gradient(ellipse,rgba(219,232,111,.05),transparent 65%)}.fascial-edge{position:absolute;z-index:3;top:45px;width:40%;height:76px;border:7px solid #dec79f;background:linear-gradient(#8b5044,#4b2b29);transition:transform .55s cubic-bezier(.2,.8,.2,1)}.fascial-edge.left{left:4%;border-radius:52% 9% 9% 52%}.fascial-edge.right{right:4%;border-radius:9% 52% 52% 9%}.fascial-defect{position:absolute;z-index:2;left:42%;top:42px;width:16%;height:84px;border-radius:50%;background:#170b0c;box-shadow:0 0 0 3px #9b745f}.closure-needle{position:absolute;z-index:8;left:20%;top:16px;width:75px;height:55px;border:5px solid #dce6e8;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(18deg);opacity:0}.suture-path{position:absolute;z-index:7;left:19%;top:35px;width:62%;height:100px;border:4px solid var(--sim-teal);border-radius:50%;opacity:0}.suture-path.first{border-right-color:transparent;border-bottom-color:transparent;transform:rotate(8deg)}.suture-path.crossing{border-left-color:transparent;border-top-color:transparent;transform:rotate(-8deg)}.suture-tail{position:absolute;z-index:8;top:97px;width:40%;height:3px;background:var(--sim-teal);opacity:0}.suture-tail.left{left:12%;transform:rotate(28deg)}.suture-tail.right{right:12%;transform:rotate(-28deg)}.closure-knot{position:absolute;z-index:9;left:calc(50% - 10px);top:87px;width:20px;height:20px;border:4px solid var(--sim-teal);border-radius:50%;opacity:0}.closure-motion-label{position:absolute;left:12px;right:12px;bottom:34px;color:var(--sim-warm);font:9px/1.4 var(--mono);text-align:center}.closure-world.phase-1 .closure-needle,.closure-world.phase-1 .suture-path.first,.closure-world.phase-2 .closure-needle,.closure-world.phase-2 .suture-path,.closure-world.phase-2 .suture-tail,.closure-world.phase-3 .suture-path,.closure-world.phase-3 .suture-tail,.closure-world.phase-3 .closure-knot{opacity:1}.closure-world.phase-1 .closure-needle{animation:shNeedlePass .65s ease both}.closure-world.phase-2 .fascial-edge.left,.closure-world.phase-3 .fascial-edge.left{transform:translateX(27%)}.closure-world.phase-2 .fascial-edge.right,.closure-world.phase-3 .fascial-edge.right{transform:translateX(-27%)}.closure-world.phase-2 .fascial-defect,.closure-world.phase-3 .fascial-defect{transform:scaleX(.18)}.closure-world.phase-2 .closure-knot,.closure-world.phase-3 .closure-knot{opacity:1}.closure-world.phase-3 .skin-layer{width:32px!important;transition:width .45s}@keyframes shNeedlePass{from{transform:translate(-55px,-18px) rotate(-20deg);opacity:0}to{transform:translate(70px,42px) rotate(82deg);opacity:1}}
.closure-actions .sim-action[data-closure-hold]{position:relative;overflow:hidden;touch-action:none;user-select:none}.closure-actions .sim-action[data-closure-hold]:after{content:'';position:absolute;left:0;bottom:0;width:0;height:5px;background:var(--sim-teal)}.closure-actions .sim-action[data-closure-hold].holding:after{width:100%;transition:width .56s linear}

@media(max-width:900px){.sim-header{grid-template-columns:minmax(250px,1fr) auto}.sim-brand-hud .sim-home{flex-basis:155px;width:155px;height:46px}.field-instrument{left:23%;top:60%;transform:rotate(-30deg) scale(.84)}.lap-tool.clip-applier{right:-7%;transform:rotate(-29deg) scale(.82)}.closure-world{grid-template-columns:1fr}.closure-port{min-height:340px}}
@media(max-width:560px){.sim-brand-hud .sim-home{flex-basis:126px!important;width:126px!important;height:42px}.sim-release-label{font-size:5px}.access-choice .method-device .surgical-instrument{transform:scale(.7)}.hasson-mini-sequence i{font-size:5px}.hasson-technique{left:2%;right:2%;top:23%}.hasson-kocher.left{left:-104px;transform:rotate(11deg) scale(.38)}.hasson-kocher.right{right:-92px;transform:rotate(172deg) scale(.38)}.hasson-fascia{left:calc(50% - 65px)}.field-instrument{left:13%;top:62%;transform:rotate(-30deg) scale(.72)}.instrument-bank button .surgical-instrument{transform:scale(.48);margin:-15px -58px -20px}.dissect-instruments button .surgical-instrument{transform:scale(.42);margin:-18px -62px -22px}.lap-tool.clip-applier{right:-22%;bottom:21%;transform:rotate(-29deg) scale(.68)}.divide-field.angle-safe .clip-applier{transform:rotate(-29deg) scale(.68)!important}.divide-field.angle-unsafe .clip-applier{transform:rotate(-6deg) scale(.68)!important}.completion-world .completion-actions{min-height:150px}.extraction-control{min-height:88px;font-size:9px}.closure-port{min-height:320px}.fascial-model{left:3%;right:3%}.closure-materials{padding:13px}.closure-motion-label{font-size:7px}}

/* SPRINT 11 · ATTENTION, CHRONOLOGY, AND 1:1 OPERATIVE CONSEQUENCE */
.sim-header{grid-template-columns:minmax(410px,450px) minmax(130px,auto) minmax(230px,1fr) auto;gap:12px;padding:7px 14px}
.sim-brand-hud{gap:10px}.sim-brand-hud .sim-home{flex:0 0 290px;width:290px;height:76px;overflow:visible}.sim-home img{object-fit:contain!important;object-position:left center!important;transform:none!important}.sim-release-label{padding:6px 8px;font-size:7px;background:rgba(219,232,111,.04)}
.sim-brand-hud #simTimerDock{flex:0 0 104px}.guided-case-active #simTimerDock .prep-timer.guided-timer.b1-timer-docked{min-width:104px;max-width:112px;border-color:rgba(127,167,255,.45);background:#0a1116}
.sim-tools #simExit{border-color:rgba(219,232,111,.5);color:var(--sim-warm);background:rgba(219,232,111,.055);font-weight:700}.sim-tools #simExit:hover{background:var(--sim-warm);color:#0a100d}.sim-tools #simCoach:before{content:'↗';display:inline-grid;place-items:center;width:17px;height:17px;margin-right:6px;border:1px solid var(--sim-teal);border-radius:50%;color:var(--sim-teal);font-size:10px}.coach-field-hint:before{content:'↗';position:absolute;right:9px;top:8px;display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--sim-teal);border-radius:50%;color:var(--sim-teal)}
.sim-next{color:#f4f6e7}.fidelity-prep .prep-hotspot.sim-next,.ioc-finding.sim-next{color:#0b110c!important}

/* POSITION: patient-side language and the actual raised shoulder now agree. */
.position-world.right-up .table-platform{transform:rotate(8deg)}.position-world.left-up .table-platform{transform:rotate(-8deg)}
.position-world.head-up.right-up .table-platform{transform:perspective(900px) rotateX(-11deg) translateY(-14px) rotateZ(8deg);filter:drop-shadow(0 14px 18px rgba(82,224,196,.12))}.position-world.head-up.left-up .table-platform{transform:perspective(900px) rotateX(-11deg) translateY(-14px) rotateZ(-8deg)}.position-world.head-down.right-up .table-platform{transform:perspective(900px) rotateX(11deg) translateY(14px) rotateZ(8deg)}.position-world.head-down.left-up .table-platform{transform:perspective(900px) rotateX(11deg) translateY(14px) rotateZ(-8deg)}
.position-world.right-up .table-horizon{transform:rotate(8deg)}.position-world.left-up .table-horizon{transform:rotate(-8deg)}
.shoulder-label{position:absolute;z-index:8;top:80px;padding:4px 5px;border:1px solid #486068;background:rgba(8,13,16,.9);color:#b6c7c7;font:6px var(--mono);white-space:nowrap}.shoulder-label.patient-right{right:146px}.shoulder-label.patient-left{left:145px}.position-world.right-up .shoulder-label.patient-right{border-color:var(--sim-teal);color:var(--sim-teal);box-shadow:0 0 12px rgba(82,224,196,.18)}.position-world.left-up .shoulder-label.patient-left{border-color:var(--sim-amber);color:var(--sim-amber)}
.position-consequence{display:block!important;padding:16px!important;background:linear-gradient(145deg,#1b272d,#10161b)!important;border-color:#3a515b!important}.position-consequence>b{display:block;max-width:88%;color:#d8e5e4;font:9px/1.4 var(--mono);letter-spacing:.05em}.position-consequence .gravity-arrow{position:absolute;left:18%;top:34%;width:auto;height:auto;background:none;border:0;color:var(--sim-warm);font:48px/1 var(--sans);font-style:normal;transition:.45s}.position-consequence .working-space{position:absolute;right:12%;top:32%;width:43%;height:38%;border:2px dashed #61747a;border-radius:46% 44% 35% 48%;background:rgba(127,167,255,.04);transition:.45s}.position-consequence .working-space:after{content:'WORKING SPACE';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90%;text-align:center;color:#819497;font:7px var(--mono)}.position-world.head-up .position-consequence .gravity-arrow{transform:translateY(15px)}.position-world.head-up.right-up .position-consequence .gravity-arrow{transform:translate(24px,14px) rotate(-18deg);color:var(--sim-teal)}.position-world.head-up.right-up .position-consequence .working-space{transform:scale(1.2);border-color:var(--sim-teal);background:rgba(82,224,196,.09);box-shadow:0 0 22px rgba(82,224,196,.12)}.position-world.head-down .position-consequence .working-space{transform:scale(.78);border-color:var(--sim-amber)}.position-consequence>span{left:14px!important;right:14px!important;bottom:13px!important;max-width:none!important;font-size:9px!important;color:#d6e1df!important}.position-world.head-up.right-up .position-consequence>span{color:var(--sim-teal)!important}

/* PREP: the resident moves through one chronological room-readiness action. */
.fidelity-prep{height:clamp(660px,70vh,790px);min-height:660px}.fidelity-prep .team{left:2%;top:2%;width:25%;min-height:48px}.fidelity-prep .monitor-move{left:29%;top:2%;width:31%;min-height:48px}.fidelity-prep .abdomen-prep{left:8%;right:8%;top:39%}.fidelity-prep .drape{top:52%!important}.prep-solution{position:absolute;z-index:4;left:30%;right:30%;top:18%;height:43%;border-radius:26px;background:rgba(220,155,75,0);transition:background .4s,box-shadow .4s}.fidelity-prep.abdomen-prepped .prep-solution{background:rgba(219,145,53,.42);box-shadow:0 0 18px rgba(219,145,53,.16)}.fidelity-prep.monitors-aligned .prep-monitor.left{transform:translate(44px,28px) rotate(2deg);border-color:var(--sim-teal)}.fidelity-prep.monitors-aligned .prep-monitor.right{transform:translate(-44px,28px) rotate(-2deg);border-color:var(--sim-teal)}.fidelity-prep.team-ready:before{content:'TEAM CONTACT ESTABLISHED ✓';position:absolute;z-index:5;left:2%;top:11%;padding:5px 7px;border-left:3px solid var(--sim-teal);background:#0b1517;color:var(--sim-teal);font:7px var(--mono)}
.prep-decision-card{position:absolute;z-index:30;left:50%;top:50%;width:min(430px,72%);transform:translate(-50%,-50%);display:grid;gap:9px;padding:17px;border:1px solid var(--sim-warm);background:rgba(8,13,16,.97);box-shadow:0 24px 58px rgba(0,0,0,.55)}.prep-decision-card>span{color:var(--sim-warm);font:7px var(--mono)}.prep-decision-card>b{font:12px/1.45 var(--mono)}.prep-decision-card>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.prep-decision-card button{min-height:56px;padding:9px;border:1px solid #506168;background:#111b20;color:#edf4f1;font:8px/1.35 var(--mono);cursor:pointer}.prep-decision-card button:hover{border-color:var(--sim-teal);color:var(--sim-teal)}.prep-decision-card small{color:#9aadaa;font:8px/1.45 var(--mono)}.prep-plan-badge{position:absolute;z-index:8;left:31%;top:11%;padding:6px 8px;border:1px solid rgba(82,224,196,.5);background:#0b1718;color:var(--sim-teal);font:7px var(--mono)}
.prep-sequence-strip{display:grid;grid-template-columns:repeat(13,minmax(78px,1fr));gap:3px;margin-top:7px;overflow-x:auto}.prep-sequence-strip span{padding:7px 6px;border-top:3px solid #27373d;color:#718284;font:6px/1.4 var(--mono)}.prep-sequence-strip .done{border-color:var(--sim-teal);color:var(--sim-teal)}.prep-sequence-strip .current{border-color:var(--sim-warm);color:var(--sim-warm);background:rgba(219,232,111,.04)}

/* ENTER: select the site on the patient, then watch body/device changes. */
.spatial-prompt{border-color:#3d5055;background:#0c1418;color:#a8b6b5;animation:none!important}.spatial-prompt small{display:block;margin-top:5px;color:var(--sim-warm);font:7px var(--mono)}.entry-site-target{position:absolute;z-index:38;left:50%;top:57%;width:132px;height:96px;transform:translate(-50%,-50%);border:2px solid var(--sim-warm);border-radius:50%;background:rgba(219,232,111,.08);color:#08100f;cursor:pointer}.entry-site-target i{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border:4px solid #0c1516;border-radius:50%;background:var(--sim-warm)}.entry-site-target b{position:absolute;left:50%;top:105%;width:180px;transform:translateX(-50%);padding:6px;background:var(--sim-warm);color:#0a100c;font:7px/1.4 var(--mono)}.access-world .abdomen-surface{transition:transform .5s cubic-bezier(.18,.82,.2,1),box-shadow .4s}.access-world.pneumoperitoneum .abdomen-surface{transform:scale(1.035);box-shadow:inset 0 0 0 4px rgba(82,224,196,.22),0 0 28px rgba(82,224,196,.1)}.pneumoperitoneum-ring{position:absolute;left:12%;right:12%;top:18%;bottom:14%;border:2px solid transparent;border-radius:48%;transition:.45s}.access-world.pneumoperitoneum .pneumoperitoneum-ring{border-color:var(--sim-teal);box-shadow:0 0 25px rgba(82,224,196,.14)}.access-world.pneumoperitoneum .pneumoperitoneum-ring:after{content:'PNEUMOPERITONEUM ESTABLISHED';position:absolute;left:50%;top:12%;transform:translateX(-50%);width:220px;text-align:center;color:var(--sim-teal);font:8px var(--mono)}
.current-port-goal.in-hand{border:2px solid var(--sim-teal);border-left-width:7px;box-shadow:0 0 0 4px rgba(82,224,196,.06)}.port-token.in-hand{min-height:68px!important}.port-drop-zone.current-target.sim-next{width:88px;height:88px;box-shadow:0 0 0 13px rgba(219,232,111,.08),0 0 28px rgba(219,232,111,.22)!important}.port-drop-zone.current-target>span{top:94px;width:150px;padding:5px;background:var(--sim-warm);color:#0a100c;font-weight:800}

/* IOC: staged synthetic fluoroscopic filling, ending in visible duodenal flow. */
.fluoro-map .biliary-main,.fluoro-map .biliary-cystic,.fluoro-map .biliary-right,.fluoro-map .biliary-left,.fluoro-map .biliary-distal,.fluoro-map .duodenum{opacity:.14;transition:opacity .35s,filter .35s,box-shadow .35s}.biliary-cystic{left:31%;top:50%;width:126px;height:6px;transform:rotate(12deg);transform-origin:right}.fluoro-map.contrast-1 .biliary-cystic,.fluoro-map.contrast-2 .biliary-cystic,.fluoro-map.contrast-3 .biliary-cystic,.fluoro-map.contrast-4 .biliary-cystic,.fluoro-map.contrast-5 .biliary-cystic,.fluoro-map.contrast-6 .biliary-cystic,.fluoro-map.contrast-7 .biliary-cystic{opacity:1}.fluoro-map.contrast-2 .biliary-right,.fluoro-map.contrast-3 .biliary-right,.fluoro-map.contrast-4 .biliary-right,.fluoro-map.contrast-5 .biliary-right,.fluoro-map.contrast-6 .biliary-right,.fluoro-map.contrast-7 .biliary-right{opacity:1}.fluoro-map.contrast-3 .biliary-left,.fluoro-map.contrast-4 .biliary-left,.fluoro-map.contrast-5 .biliary-left,.fluoro-map.contrast-6 .biliary-left,.fluoro-map.contrast-7 .biliary-left{opacity:1}.fluoro-map.contrast-4 .biliary-main,.fluoro-map.contrast-5 .biliary-main,.fluoro-map.contrast-6 .biliary-main,.fluoro-map.contrast-7 .biliary-main{opacity:1}.fluoro-map.contrast-6 .biliary-distal,.fluoro-map.contrast-7 .biliary-distal{opacity:1}.fluoro-map.contrast-7 .duodenum{opacity:1;filter:drop-shadow(0 0 8px #fff);animation:duodenalFill .65s ease both}.contrast-bolus{position:absolute;z-index:3;left:50%;top:47%;width:15px!important;height:15px!important;border-radius:50%;background:white!important;opacity:0}.fluoro-map[class*="contrast-"]:not(.contrast-0) .contrast-bolus{opacity:1;animation:contrastTravel 1.1s ease-in-out infinite alternate}.fluoro-caption{position:absolute;z-index:6;left:50%;bottom:4%;transform:translateX(-50%);width:48%;padding:7px 9px;background:rgba(8,10,10,.83);text-align:center}.fluoro-caption b,.fluoro-caption span{display:block}.fluoro-caption b{color:#f2f4ef;font:8px var(--mono)}.fluoro-caption span{margin-top:3px;color:#b7c0bd;font:6px/1.35 var(--mono)}@keyframes contrastTravel{from{transform:translate(-48px,-32px);box-shadow:0 0 4px white}to{transform:translate(34px,82px);box-shadow:0 0 18px white}}@keyframes duodenalFill{from{filter:brightness(.3)}to{filter:brightness(1.35)}}
.fluoro-map .ioc-finding.duodenum{z-index:7;left:auto;right:5%;bottom:18%;width:auto;height:auto;border-radius:0;opacity:1}

/* CLIP APPLIER: a click selects; a deliberate gesture closes/fires. */
.clip-fire-instruction{display:grid;gap:5px;padding:10px;border:1px solid var(--sim-warm);background:rgba(219,232,111,.055)}.clip-fire-instruction b{color:var(--sim-warm);font:8px var(--mono)}.clip-fire-instruction span{color:#dce6e2;font:9px/1.45 var(--mono)}.control-site{transition:transform .18s,background .18s}.control-site.holding{transform:scale(.88);background:var(--sim-warm)!important;color:#09100d}.control-site.fire-complete{background:var(--sim-teal)!important}.divide-field:has(.control-site.holding) .clip-applier .jaw-a,.divide-field:has(.control-site.holding) .clip-applier .jaw-b{transform:rotate(0deg)!important}

/* COMPLETION: make the finished rep explicit and tease, but do not build, the next mission. */
.rep-proof{display:grid;gap:5px;margin:10px 0;padding:13px 15px;border:1px solid var(--sim-teal);border-left:5px solid var(--sim-teal);background:rgba(82,224,196,.08)}.rep-proof b{color:var(--sim-teal);font:12px var(--mono)}.rep-proof span{color:#c9dad6;font-size:11px}.next-mission-tease{margin-top:12px;padding:14px;border:1px solid #35464c;background:#0b1216}.next-mission-tease>span{color:var(--sim-warm);font:8px var(--mono);letter-spacing:.1em}.next-mission-tease>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.next-mission-tease button{display:grid;gap:5px;min-height:78px;padding:13px;border:1px solid var(--sim-warm);background:rgba(219,232,111,.05);color:#eef3ee;text-align:left;cursor:pointer}.next-mission-tease button small{color:var(--sim-warm);font:7px var(--mono)}.next-mission-tease button:disabled{border-color:#35464c;opacity:.5;cursor:not-allowed}.next-mission-tease button:disabled small{color:#8a9998}

@media(max-width:1000px){.sim-header{grid-template-columns:minmax(230px,1fr) auto;grid-template-rows:auto auto auto}.sim-brand-hud .sim-home{flex-basis:170px;width:170px;height:48px}.sim-brand-hud #simTimerDock{flex-basis:92px}.fidelity-prep{height:760px}.fidelity-prep .team{width:28%}.fidelity-prep .monitor-move{left:31%;width:38%}.prep-sequence-strip{grid-template-columns:repeat(13,96px)}}
@media(max-width:560px){.sim-brand-hud .sim-home{flex-basis:128px!important;width:128px!important;height:42px}.sim-release-label{display:none}.shoulder-label{display:none}.position-consequence>b{font-size:7px}.position-consequence .gravity-arrow{font-size:34px}.fidelity-prep{height:900px;min-height:900px}.fidelity-prep .team{left:1%;top:1%;width:36%;font-size:6px}.fidelity-prep .monitor-move{left:38%;top:1%;width:61%;font-size:6px}.fidelity-prep.team-ready:before{top:8%;font-size:5px}.prep-decision-card{width:94%;top:48%}.prep-decision-card>div{grid-template-columns:1fr}.prep-plan-badge{left:1%;top:10%;font-size:5px}.fidelity-prep .abdomen-prep{font-size:5px}.prep-sequence-strip{grid-template-columns:repeat(13,100px)}.entry-site-target{width:112px;height:82px}.access-world.pneumoperitoneum .pneumoperitoneum-ring:after{font-size:6px;width:150px}.fluoro-caption{width:66%}.next-mission-tease>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.instrument-bowel-grasper .jaw,.instrument-suction .flow i,.clip-applier .jaw,.clip-applier .seated-clip,.hasson-gas-ring,.completion-world .retrieval-bag,.completion-world .specimen,.closure-needle{animation:none!important}}

/* Port UX repair: one unmistakable pickup, then one unmistakable abdominal target. */
.ports-chapter{width:min(1180px,100%)}
.ports-chapter>h1{margin-bottom:5px}
.port-placement-flow{display:flex;align-items:center;gap:8px;margin:6px 0;color:#6f7d7e;font:8px var(--mono);letter-spacing:.04em}
.port-placement-flow span{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #2b383d;background:#0b1115}
.port-placement-flow span b{display:grid;place-items:center;width:20px;height:20px;border:2px solid currentColor;border-radius:50%}
.port-placement-flow span.current{border-color:var(--sim-warm);color:var(--sim-warm);background:rgba(219,232,111,.06)}
.port-placement-flow span.done{border-color:var(--sim-teal);color:var(--sim-teal)}
.port-placement-flow>i{color:var(--sim-warm);font-style:normal}
.port-token-bank.single{grid-template-columns:minmax(340px,650px);margin:6px 0 10px}
.port-token-bank.single .port-token{position:relative;display:grid!important;grid-template-columns:92px minmax(0,1fr) 38px;align-items:center;gap:14px;min-height:92px!important;padding:11px 14px;border:3px solid var(--sim-warm);background:var(--sim-warm);color:#07100d;box-shadow:0 0 0 5px rgba(219,232,111,.1),0 16px 34px rgba(0,0,0,.34);cursor:pointer;text-align:left}
.port-token-bank.single .port-token:hover{filter:brightness(1.05);transform:translateY(-2px)}
.port-token-bank.single .port-token:focus-visible{outline:4px solid white;outline-offset:3px}
.port-token-bank.single .port-token>span{display:grid;gap:3px;min-width:0}
.port-token-bank.single .port-token strong{font:11px var(--mono);letter-spacing:.08em}
.port-token-bank.single .port-token span>b{margin:0;color:#07100d;font:13px/1.25 var(--mono)}
.port-token-bank.single .port-token span>small{color:#27312e;font:9px/1.35 sans-serif}
.port-token-bank.single .port-token>em{display:grid;place-items:center;width:32px;height:32px;border:3px solid #07100d;border-radius:50%;font:700 13px var(--mono);font-style:normal}
.port-token-bank.single .port-token .port-token-instrument{position:relative;width:88px;height:32px;border:0;border-radius:0;background:none;box-shadow:none}
.port-token-instrument:before{content:'';position:absolute;left:7px;top:12px;width:68px;height:10px;border:1px solid #435156;border-radius:6px;background:linear-gradient(#f2f5f6 0 25%,#8f9da1 31% 68%,#4c595e 74%)}
.port-token-instrument:after{content:'';position:absolute;left:0;top:5px;width:22px;height:24px;border:4px solid #07100d;border-radius:8px;background:#92a0a3;box-shadow:inset 0 0 0 4px #dfe6e8}
.port-token-instrument>b{position:absolute;right:0;top:8px;width:16px;height:18px;margin:0!important;border:3px solid #07100d!important;border-radius:50%;background:#dfe6e8!important}
.port-token-bank.single .port-token.in-hand{border-color:var(--sim-teal);background:#0d201f;color:var(--sim-teal);box-shadow:0 0 0 5px rgba(82,224,196,.09),0 16px 34px rgba(0,0,0,.34);transform:none}
.port-token-bank.single .port-token.in-hand span>b,.port-token-bank.single .port-token.in-hand span>small{color:#d7ebe6}
.port-token-bank.single .port-token.in-hand>em{border-color:var(--sim-teal);color:var(--sim-teal)}
.port-token-bank.single .port-token.in-hand .port-token-instrument:after,.port-token-bank.single .port-token.in-hand .port-token-instrument>b{border-color:var(--sim-teal)!important}
.ports-chapter .port-world{height:clamp(330px,43vh,420px);grid-template-columns:minmax(0,1.45fr) minmax(210px,.75fr)}
.ports-chapter .port-abdomen,.ports-chapter .trajectory-view{min-width:0;display:block}
.ports-chapter .trajectory-view>span{right:8px;white-space:normal}
.ports-chapter .placed-port-status{margin-top:5px}
.ports-chapter .orientation-rule{margin-top:5px}

/* Suction/irrigator: long laparoscopic shaft, two-button handpiece, visible open lumen. */
.instrument-suction{width:340px;height:78px}
.instrument-suction .tubing{left:-25px;top:38px;width:55px;height:34px;border-width:6px;border-color:#477786}
.instrument-suction .handpiece{left:15px;top:15px;width:68px;height:48px;border:3px solid #a4b3b7;border-radius:9px;background:linear-gradient(140deg,#334a50,#111b20)}
.instrument-suction .handpiece:after{content:'SUCTION  IRRIGATE';position:absolute;left:5px;right:5px;bottom:3px;color:#9fb3b4;font:5px var(--mono);letter-spacing:.03em;text-align:center}
.instrument-suction .handpiece i,.instrument-suction .handpiece b{top:7px;width:19px;height:18px;border:2px solid #dce5e7!important;border-radius:4px;background:#1d3037!important;box-shadow:inset 0 -4px rgba(82,224,196,.15)}
.instrument-suction .handpiece i{left:9px}.instrument-suction .handpiece b{left:38px}
.instrument-suction .long-shaft{left:76px;top:35px;width:235px;height:9px;border-color:#53666b;background:linear-gradient(#f4f7f7 0 26%,#a4b0b3 31% 66%,#56656a 72%)}
.instrument-suction .lumen{left:305px;top:29px;width:22px;height:21px;border:5px solid #edf3f4;border-radius:50%;background:#061014;box-shadow:0 0 0 2px #64777c}
.instrument-suction .lumen:after{content:'';position:absolute;left:4px;top:4px;width:5px;height:5px;border-radius:50%;background:#20353b}
.instrument-suction .flow{left:325px;top:13px;width:34px;height:54px}
.instrument-bank button .instrument-suction{width:340px;max-width:none;transform:scale(.48);transform-origin:center;margin:-10px -84px -15px}
.dissect-instruments button .instrument-suction{transform:scale(.46);margin:-12px -88px -17px}
.field-instrument .instrument-suction{transform:scale(.88);transform-origin:right center}

@media(max-width:900px) and (min-width:521px){
  .ports-chapter .port-world{height:360px;grid-template-columns:minmax(0,1.45fr) minmax(155px,.72fr);grid-template-rows:1fr}
  .port-token-bank.single{grid-template-columns:1fr}
  .port-token-bank.single .port-token{min-height:82px!important}
  .ports-chapter .trajectory-view .target-zone{left:43%}
}
@media(max-width:520px){
  .port-placement-flow{font-size:6px}.port-placement-flow span{padding:4px 5px}
  .port-token-bank.single .port-token{grid-template-columns:72px minmax(0,1fr) 30px;min-height:84px!important;padding:9px;gap:9px}
  .port-token-bank.single .port-token .port-token-instrument{transform:scale(.78);transform-origin:left center}
  .port-token-bank.single .port-token strong{font-size:8px}.port-token-bank.single .port-token span>b{font-size:9px}.port-token-bank.single .port-token span>small{font-size:7px}
  .port-token-bank.single .port-token>em{width:26px;height:26px;font-size:10px}
  .ports-chapter .port-world{height:540px;grid-template-columns:1fr;grid-template-rows:320px 210px}
  .ports-chapter .port-abdomen{border-radius:42% 42% 22% 22%}
}
