/* Surgical Habitat — UX Convergence / Prototype 2 */

:root{
  --ux-stage:#071014;
  --ux-panel:#0d181d;
  --ux-line:#294149;
  --ux-blue:#7ea5ff;
  --ux-teal:#52e0c4;
  --ux-next:#dbe86f;
  --ux-copy:#edf4f1;
  --ux-muted:#91a5a4;
}

/* Safe logo/header geometry. */
.topbar{padding-inline:clamp(22px,5vw,92px);gap:24px;background:#191919!important;backdrop-filter:none!important}
.topbar .brand{min-width:240px;padding:12px 18px;overflow:visible}
.topbar .official-wordmark{display:block;width:220px;max-width:100%}
.topbar .official-wordmark img{display:block;width:100%;height:auto;object-fit:contain;object-position:left center;mix-blend-mode:normal;mask-image:radial-gradient(ellipse 90% 88% at 50% 50%,#000 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 88% at 50% 50%,#000 68%,transparent 100%)}
.sim-brand-hud{min-width:0;gap:12px}
.sim-brand-hud .sim-home{padding:8px 12px!important;overflow:visible!important}
.sim-brand-hud .sim-home img{width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:normal;mask-image:radial-gradient(ellipse 90% 88% at 50% 50%,#000 68%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 88% at 50% 50%,#000 68%,transparent 100%)}

/* Landing row: restrained airlock energy and an unmistakable entry command. */
.procedure-card.available{position:relative;grid-template-columns:45px minmax(0,1fr) auto auto;overflow:hidden;transition:padding .28s ease,background .28s ease,border-color .28s ease,transform .28s ease}
.procedure-card.available:before,.procedure-card.available:after{content:'';position:absolute;top:50%;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--ux-blue));opacity:0;transition:width .35s ease,opacity .35s ease}
.procedure-card.available:before{left:8%;transform:translateY(-24px)}.procedure-card.available:after{right:8%;transform:translateY(24px) rotate(180deg)}
.procedure-card.available:hover,.procedure-card.available:focus-visible{padding-left:18px;padding-right:12px;background:linear-gradient(90deg,rgba(126,165,255,.08),rgba(219,232,111,.035));transform:translateX(4px);outline:none}
.procedure-card.available:hover:before,.procedure-card.available:hover:after,.procedure-card.available:focus-visible:before,.procedure-card.available:focus-visible:after{width:28%;opacity:.65}
.procedure-cta{min-width:188px;padding:12px 14px;border:1px solid rgba(219,232,111,.62);background:rgba(219,232,111,.07);color:var(--ux-next);font:9px var(--mono);letter-spacing:.1em;text-align:center;opacity:.72;transform:translateX(8px);transition:opacity .25s,transform .25s,background .25s,color .25s}
.procedure-card.available:hover .procedure-cta,.procedure-card.available:focus-visible .procedure-cta{opacity:1;transform:none;background:var(--ux-next);color:#07100e}
.procedure-card.available:hover .procedure-arrow,.procedure-card.available:focus-visible .procedure-arrow{transform:translate(4px,-4px) scale(1.2);color:var(--ux-next)}
.procedure-arrow{transition:transform .25s,color .25s}

/* Habitat Home: the room is the primary surface, not a long directory page. */
.free-explore-index{display:grid!important;grid-template-columns:1.25fr repeat(5,minmax(120px,1fr))!important;gap:6px!important;padding:12px!important;margin:14px 0!important}
.free-explore-index>div{grid-column:1/-1;display:flex!important;align-items:baseline;gap:14px;padding:2px 4px 7px!important}
.free-explore-index>button{min-height:46px!important;padding:10px 12px!important}
.habitat-shell{scroll-margin-top:86px;transition:box-shadow .3s,border-color .3s}
.habitat-shell.ux-focus-transition{box-shadow:0 0 0 1px var(--ux-blue),0 0 42px rgba(126,165,255,.12)}
.room{transition:transform .32s ease,filter .32s ease}
.room[data-focus="tower"] .tower-spot,.room[data-focus="backtable"] .backtable-spot,.room[data-focus="mayo"] .mayo-spot,.room[data-focus="patient"] .table-spot,.room[data-focus="resident"] .resident-spot,.room[data-focus="notes"] .notes-spot{filter:drop-shadow(0 0 15px rgba(82,224,196,.62));transform:scale(1.045)}

/* Guided Mission: preserve the cockpit, reduce chrome and keep feedback visible. */
.sim-overlay{background:#050b0e}
.sim-shell{height:100svh;max-height:100svh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;overflow:hidden}
.sim-header{padding:10px 18px!important;min-height:76px!important}
.sim-continuity{min-height:28px!important;padding-block:5px!important}
.sim-stage{min-height:0;overflow:auto;padding:14px clamp(14px,2.2vw,34px) 22px!important;scrollbar-gutter:stable;overscroll-behavior:contain;scroll-padding-top:86px}
.sim-stage>.sim-chapter{max-width:1480px;margin-inline:auto}
.sim-chapter>h1{margin:5px 0 9px!important;font-size:clamp(30px,3.5vw,54px)!important;line-height:.96!important}
.sim-chapter>.role-brief{margin:6px 0 10px!important;padding:7px 12px!important}
.mission-objective{position:sticky;z-index:65;top:-1px;margin-bottom:8px!important;min-height:50px!important;background:linear-gradient(90deg,rgba(28,46,69,.97),rgba(8,14,18,.97))!important;backdrop-filter:blur(10px)}
.sim-footer{min-height:38px!important;padding:7px 18px!important}
.ux-current-decision{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 14px;padding:11px 14px;margin:0 0 9px;border:1px solid var(--ux-blue);border-left:5px solid var(--ux-blue);background:linear-gradient(90deg,rgba(126,165,255,.1),rgba(13,24,29,.9))}
.ux-current-decision span{grid-row:1/3;color:var(--ux-blue);font:8px var(--mono);letter-spacing:.15em}
.ux-current-decision b{color:var(--ux-copy);font:12px var(--mono);letter-spacing:.05em}
.ux-current-decision small{color:var(--ux-muted);font:8px/1.4 var(--mono)}

/* Position: only the table, the patient, its movement, and the control. */
.position2-layout{display:grid;grid-template-columns:minmax(560px,1.65fr) minmax(290px,.7fr);gap:12px;align-items:stretch}
.position2-stage{position:relative;min-height:385px;border:1px solid var(--ux-line);overflow:hidden;background:linear-gradient(rgba(126,165,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(126,165,255,.045) 1px,transparent 1px),#071217;background-size:30px 30px;--pitch:0deg;--tilt:0deg;--lift:0px}
.position2-stage.head-up{--pitch:-9deg;--lift:-12px}
.position2-stage.head-down{--pitch:8deg;--lift:10px}
.position2-stage.right-up{--tilt:-7deg}
.position2-stage.left-up{--tilt:7deg}
.position2-status{position:absolute;z-index:7;left:18px;top:18px;display:grid;gap:5px;padding:12px 14px;border-left:4px solid var(--ux-blue);background:rgba(3,9,12,.9)}
.position2-status span{color:var(--ux-blue);font:8px var(--mono);letter-spacing:.14em}.position2-status b{color:var(--ux-copy);font:11px var(--mono)}
.position2-horizon{position:absolute;z-index:2;left:8%;right:8%;bottom:54px;height:1px;background:#617981}.position2-horizon span{position:absolute;left:0;top:7px;color:#799091;font:6px var(--mono)}
.position2-table{position:absolute;left:12%;right:12%;top:58px;height:255px;border:4px solid #6f858b;border-radius:72px;background:linear-gradient(100deg,#1b2d33,#2c4147 48%,#17272c);box-shadow:0 28px 50px rgba(0,0,0,.42);transform:perspective(780px) rotateX(var(--pitch)) rotate(var(--tilt)) translateY(var(--lift));transform-origin:50% 72%;transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s}
.position2-stage.head-up .position2-table{box-shadow:0 40px 60px rgba(0,0,0,.5),0 -8px 20px rgba(126,165,255,.11)}
.position2-rail{position:absolute;top:20%;bottom:20%;width:7px;background:#a7b5b7;box-shadow:0 0 0 2px #4f6267}.position2-rail.left{left:6%}.position2-rail.right{right:6%}
.position2-column{position:absolute;left:calc(50% - 34px);bottom:-92px;width:68px;height:105px;background:linear-gradient(90deg,#31444a,#9da9ab,#31444a);clip-path:polygon(24% 0,76% 0,100% 100%,0 100%)}
.position2-patient{position:absolute;left:50%;top:24px;width:170px;height:250px;transform:translateX(-50%) scale(.78);transform-origin:top center}
.position2-patient i{position:absolute;display:block;background:#899b97;border:1px solid #a2b1ad}
.position2-patient .head{left:65px;top:0;width:40px;height:40px;border-radius:50%}
.position2-patient .torso{left:52px;top:43px;width:66px;height:113px;border-radius:30px 30px 16px 16px;background:linear-gradient(#849794,#718681)}
.position2-patient .arm{top:55px;width:24px;height:118px;border-radius:15px}.position2-patient .arm.left{left:23px;transform:rotate(8deg)}.position2-patient .arm.right{right:23px;transform:rotate(-8deg)}
.position2-patient .leg{top:151px;width:29px;height:94px;border-radius:0 0 15px 15px}.position2-patient .leg.left{left:54px}.position2-patient .leg.right{right:54px}
.position2-feedback{position:absolute;z-index:8;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;gap:18px;padding:10px 13px;border:1px solid var(--ux-line);background:rgba(4,10,12,.92);color:var(--ux-muted)}
.position2-feedback b{color:var(--ux-copy);font:9px var(--mono)}.position2-feedback span{font:8px var(--mono)}.position2-feedback.success{border-color:var(--ux-teal)}.position2-feedback.success b{color:var(--ux-teal)}
.position2-controller{display:flex!important;flex-direction:column;gap:9px;padding:15px!important;background:var(--ux-panel)!important}
.position2-controller>.controller-axis{display:grid;grid-template-columns:1fr 1fr;gap:7px}.position2-controller>.controller-axis>span{grid-column:1/-1}.position2-controller button{min-height:64px!important}.position2-controller .sim-action{width:100%}
.position2-controller button:not(.sim-next):not(.done):not(.active-warning){opacity:.5}

/* Enter/access: current action and its visual stay together. */
.access-rehearsal-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr)!important;gap:10px!important;align-items:stretch}
.access-world{min-height:470px!important;margin:0!important}
.access-action-rail{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:0!important;padding:10px!important;border:1px solid var(--ux-line);background:var(--ux-panel)}
.access-action-rail .sim-action:not(.sim-next){display:none!important}
.access-action-rail .spatial-prompt{display:grid!important}
.access-now{margin:8px 0!important}
.camera-transition{min-height:430px!important}.camera-actions{grid-template-columns:1fr!important;max-width:480px;margin:-105px 24px 22px auto!important;position:relative;z-index:9}.camera-actions .sim-action:not(.sim-next){display:none!important}

/* Expose: name the desired exposure before the controls. */
.expose-chapter>.action-brief{display:none}
.exposure-field{min-height:470px!important;margin:0!important}.traction-controls{margin-top:8px!important}.traction-controls>div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px}.traction-controls>div>span{grid-column:1/-1}.traction-sequence{margin-top:8px!important}

/* Dissection: ask for the current maneuver, then the instrument for it. */
.dissect-chapter>p:not(.role-brief){display:none}
.dissect-work{grid-template-columns:minmax(0,1.45fr) minmax(330px,.72fr)!important;gap:10px!important}
.dissect-field{min-height:490px!important;margin:0!important}
.dissect-actions{display:flex!important;flex-direction:column!important;gap:8px!important;padding:10px!important}
.ux-bank-label{color:var(--ux-next);font:9px var(--mono);letter-spacing:.14em}
.dissect-instruments{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
.dissect-instruments button{min-height:102px!important;padding:8px!important;overflow:visible!important}
.dissect-instruments button span{display:block!important;min-height:27px;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:8px!important;line-height:1.25!important}
.dissect-actions .mission-prompt{margin:0!important;padding:9px!important}
.dissect-actions .mission-prompt>b{display:none}
.dissect-chapter:has(.dissect-field:not(.revealed)) .cvs-status,.dissect-chapter:has(.dissect-field:not(.revealed)) .view-doublet,.dissect-chapter:has(.dissect-field:not(.revealed)) .danger-attempt{display:none!important}
.dissect-chapter:has(.dissect-field.revealed) .cvs-status{display:grid!important}
.dissect-chapter:has(.dissect-field.revealed) .instrument-commitment,.dissect-chapter:has(.dissect-field.revealed) .dissect-instruments,.dissect-chapter:has(.dissect-field.revealed) .ux-bank-label{display:none!important}

/* IOC is a distinct, optional mini-mission with one current action. */
.ioc-decision{max-width:900px;margin:10px auto 14px!important;padding:20px!important;text-align:center;border:1px solid var(--ux-blue)!important;background:linear-gradient(145deg,rgba(126,165,255,.1),var(--ux-panel))!important}
.ioc-decision h2{margin:8px 0;color:var(--ux-copy);font-size:clamp(23px,3vw,38px)}.ioc-decision p{max-width:690px;margin:0 auto 14px!important;color:var(--ux-muted)}.ioc-decision>div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px}.ioc-decision button{min-height:66px!important}
.ioc-mini-mission{padding:14px!important}.ioc-mini-mission>header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 20px;margin-bottom:10px}.ioc-mini-mission>header h2{margin:0;color:var(--ux-copy);font-size:clamp(21px,2.5vw,34px)}.ioc-mini-mission>header p{grid-column:2;margin:0!important;max-width:430px}.ioc-focus-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:10px}.ioc-focus-grid .ioc-visual{min-height:290px!important}.ioc-current-action{display:grid;align-content:center;gap:10px;padding:16px;border:1px solid var(--ux-line);background:var(--ux-panel)}.ioc-current-action>span{color:var(--ux-next);font:8px var(--mono)}.ioc-current-action>b{color:var(--ux-copy);font:14px/1.35 var(--mono)}
.ioc-mini-mission .fluoro-map{min-height:390px!important;margin-top:10px!important}

/* IOC recognition task: the illuminated anatomy itself is the target. */
.fluoro-map .ioc-finding.anatomy-target{z-index:12!important;min-height:0!important;padding:0!important;border:1px solid rgba(219,232,111,.36)!important;border-radius:999px!important;background:rgba(219,232,111,.035)!important;color:transparent!important;box-shadow:0 0 0 7px rgba(219,232,111,.04),0 0 24px rgba(219,232,111,.22)!important;animation:iocTargetBreath 1.35s ease-in-out infinite!important;touch-action:manipulation}
.fluoro-map .ioc-finding.anatomy-target span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.fluoro-map .ioc-finding.anatomy-target.cystic{left:29%!important;top:43%!important;width:132px!important;height:34px!important;transform:rotate(12deg)}
.fluoro-map .ioc-finding.anatomy-target.right{left:37%!important;top:13%!important;width:124px!important;height:34px!important;transform:rotate(23deg)}
.fluoro-map .ioc-finding.anatomy-target.left{left:49%!important;right:auto!important;top:13%!important;width:122px!important;height:34px!important;transform:rotate(-21deg)}
.fluoro-map .ioc-finding.anatomy-target.commonHepatic{left:45.5%!important;top:27%!important;width:42px!important;height:98px!important}
.fluoro-map .ioc-finding.anatomy-target.commonBile{left:45.5%!important;top:51%!important;width:42px!important;height:100px!important}
.fluoro-map .ioc-finding.anatomy-target.distal{left:47%!important;right:auto!important;top:68%!important;width:55px!important;height:86px!important;transform:rotate(10deg)}
.fluoro-map .ioc-finding.anatomy-target.duodenum{left:auto!important;right:4%!important;top:auto!important;bottom:5%!important;width:150px!important;height:52px!important;border-radius:50%!important}
.fluoro-map.target-cystic .biliary-cystic,.fluoro-map.target-right .biliary-right,.fluoro-map.target-left .biliary-left,.fluoro-map.target-commonHepatic .biliary-main,.fluoro-map.target-commonBile .biliary-main,.fluoro-map.target-distal .biliary-distal,.fluoro-map.target-duodenum .duodenum{opacity:1!important;filter:drop-shadow(0 0 8px rgba(255,255,255,.92));animation:iocAnatomyPulse 1.35s ease-in-out infinite}
@keyframes iocTargetBreath{50%{border-color:rgba(219,232,111,.95);box-shadow:0 0 0 11px rgba(219,232,111,.05),0 0 30px rgba(219,232,111,.34)}}
@keyframes iocAnatomyPulse{50%{filter:drop-shadow(0 0 14px #fff);opacity:.82}}

/* PREP monitor placement: one direct drag, one projected sightline, one snap. */
.prep-monitor[data-monitor-draggable="true"]{z-index:35!important;cursor:grab;touch-action:none;outline:1px solid rgba(219,232,111,.78);outline-offset:7px;box-shadow:0 0 0 10px rgba(219,232,111,.035),0 16px 36px rgba(0,0,0,.5)!important}
.prep-monitor[data-monitor-draggable="true"].dragging{cursor:grabbing;transition:none!important}
.prep-monitor[data-monitor-draggable="true"].near-target{outline-color:var(--ux-teal);box-shadow:0 0 0 12px rgba(82,224,196,.06),0 0 34px rgba(82,224,196,.25)!important}
.prep-monitor[data-monitor-draggable="true"].snapping{animation:monitorSnap .42s ease both}
.monitor-sightline{position:absolute!important;z-index:-1!important;right:84%!important;top:38%!important;width:185px!important;height:82px!important;border:0!important;background:linear-gradient(90deg,rgba(126,165,255,.02),rgba(82,224,196,.2))!important;clip-path:polygon(0 42%,100% 0,100% 100%,0 58%);transform:rotate(7deg);transform-origin:right center;pointer-events:none}
.monitor-drag-cue{position:absolute;z-index:40;left:50%;top:-27px;transform:translateX(-50%);min-width:70px;padding:6px 8px;border:1px solid var(--ux-next);background:#0b1111;color:var(--ux-next);font:7px var(--mono);text-align:center;white-space:nowrap}
.monitor-drag-instruction{pointer-events:none!important;border-color:var(--ux-next)!important;background:rgba(219,232,111,.1)!important;color:var(--ux-next)!important}
@keyframes monitorSnap{55%{scale:1.08;filter:drop-shadow(0 0 18px rgba(82,224,196,.55))}100%{scale:1}}

/* Mission completeness and preserved review navigation. */
.sim-timeline button.complete{cursor:pointer!important}.sim-timeline button.future{opacity:.38}.sim-timeline button.current{background:rgba(126,165,255,.16)!important}.sim-timeline button.optional-branch{border-color:var(--ux-next)!important;box-shadow:inset 0 -2px rgba(219,232,111,.55)}
.sim-substage-nav{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding-top:5px;overflow-x:auto;scrollbar-width:none}
.sim-substage-nav>span{flex:0 0 auto;color:var(--ux-next);font:6px var(--mono);letter-spacing:.12em}
.sim-substage-nav button{flex:0 0 auto;min-height:27px!important;padding:5px 8px!important;border:1px solid var(--ux-line)!important;background:#0c1418!important;color:var(--ux-muted)!important;font:6px var(--mono)!important;cursor:pointer!important}
.sim-substage-nav button:hover,.sim-substage-nav button:focus-visible{border-color:var(--ux-blue)!important;color:var(--ux-copy)!important;outline:none}

/* Performance-directed completion loop. */
.finale-focus{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 18px;align-items:center}
.finale-focus>span,.finale-focus>h2,.finale-focus>p{grid-column:1}.targeted-rep-cta{grid-column:2;grid-row:1/4;min-width:220px;min-height:58px;padding:13px 16px;border:1px solid var(--ux-next);background:linear-gradient(135deg,rgba(219,232,111,.16),rgba(82,224,196,.07));color:var(--ux-next);font:9px var(--mono);letter-spacing:.08em;cursor:pointer}
.targeted-rep-cta:hover,.targeted-rep-cta:focus-visible{background:var(--ux-next);color:#07100e;outline:none}

/* Access instruments: technical linework and mechanically plausible silhouettes. */
.access-choice button{background:linear-gradient(155deg,rgba(255,255,255,.018),rgba(126,165,255,.025))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}
.access-choice button:hover,.access-choice button:focus-visible{background:linear-gradient(155deg,rgba(126,165,255,.085),rgba(82,224,196,.035))!important;outline:none}
.access-choice .method-device{filter:drop-shadow(0 10px 12px rgba(0,0,0,.42));isolation:isolate}
.access-choice .method-device:after{content:'';position:absolute;z-index:-1;left:5%;right:5%;bottom:7%;height:1px;background:linear-gradient(90deg,transparent,rgba(126,165,255,.5),transparent)}
.method-device .mechanical,.veress-device>i,.optical-device>i{filter:drop-shadow(0 1px 0 rgba(255,255,255,.35)) drop-shadow(0 3px 4px rgba(0,0,0,.45))}

/* Control + Divide: one obvious action; other controls recede. */
.division-work{grid-template-columns:minmax(0,1.5fr) minmax(310px,.62fr)!important;gap:10px!important}.divide-field{min-height:500px!important}.division-controls{padding:11px!important}.divide-next-card{margin-bottom:8px!important}.divide-next-card b{font-size:12px!important}.divide-ui .instrument-bank{grid-template-columns:1fr!important}.divide-ui.mode-choose-clipper .instrument-bank button[data-instrument="shears"],.divide-ui.mode-choose-shears .instrument-bank button[data-instrument="clipper"],.divide-ui:not(.mode-choose-clipper):not(.mode-choose-shears) .instrument-bank button:not(.selected){display:none!important}.divide-helper{font-size:10px!important;line-height:1.4!important}.control-site span{font-size:8px!important;color:var(--ux-next)!important;background:#07100d!important}.clip-mark{filter:drop-shadow(0 0 3px rgba(219,232,111,.7))}

/* Closure: unmistakable open defect → closing maneuver → closed defect. */
.closure2-mission{max-width:1180px;margin:auto}.closure2-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:10px}.closure2-visual{position:relative;min-height:380px;overflow:hidden;border:1px solid var(--ux-line);background:linear-gradient(#935a4d 0 20%,#d29984 20% 36%,#d8c392 36% 50%,#78443d 50% 74%,#351c1b 74%)}
.closure2-label{position:absolute;z-index:9;left:18px;top:18px;display:grid;gap:5px;padding:10px 12px;border-left:4px solid var(--ux-blue);background:rgba(6,10,12,.9)}.closure2-label span{color:var(--ux-blue);font:8px var(--mono)}.closure2-label b{color:var(--ux-copy);font:12px var(--mono)}
.closure2-edge{position:absolute;z-index:3;top:50%;width:39%;height:92px;border:7px solid #ead6ad;background:#734139;transition:transform .5s ease}.closure2-edge.left{left:8%;border-radius:55% 8px 8px 55%}.closure2-edge.right{right:8%;border-radius:8px 55% 55% 8px}.closure2-gap{position:absolute;z-index:2;left:45%;top:49%;width:10%;height:108px;border-radius:50%;background:#100708;box-shadow:0 0 0 4px #9a6f5e;transition:transform .5s ease,opacity .5s}
.closure2-suture{position:absolute;z-index:6;left:30%;top:48%;width:40%;height:105px;border:4px solid var(--ux-teal);border-radius:50%;opacity:0;transition:opacity .35s}.closure2-suture.a{border-right-color:transparent;transform:rotate(9deg)}.closure2-suture.b{border-left-color:transparent;transform:rotate(-9deg)}.closure2-knot{position:absolute;z-index:8;left:calc(50% - 11px);top:59%;width:22px;height:22px;border:4px solid var(--ux-teal);border-radius:50%;opacity:0}
.closure2-layout.phase-closing .closure2-edge.left,.closure2-layout.phase-closed .closure2-edge.left{transform:translateX(12%)}.closure2-layout.phase-closing .closure2-edge.right,.closure2-layout.phase-closed .closure2-edge.right{transform:translateX(-12%)}.closure2-layout.phase-closing .closure2-suture,.closure2-layout.phase-closed .closure2-suture{opacity:1}.closure2-layout.phase-closing .closure2-gap{transform:scaleX(.5)}.closure2-layout.phase-closed .closure2-edge.left{transform:translateX(24%)}.closure2-layout.phase-closed .closure2-edge.right{transform:translateX(-24%)}.closure2-layout.phase-closed .closure2-gap{transform:scaleX(.05);opacity:.25}.closure2-layout.phase-closed .closure2-knot{opacity:1}
.closure2-action{display:grid;align-content:center;gap:9px;padding:18px;border:1px solid var(--ux-line);background:var(--ux-panel)}.closure2-action>span{color:var(--ux-next);font:8px var(--mono)}.closure2-action h2{margin:0;color:var(--ux-copy);font-size:22px}.closure2-action p{margin:0;color:var(--ux-muted)}.closure2-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.closure2-progress span{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px;border:1px solid var(--ux-line);color:#667777;font:7px/1.3 var(--mono)}.closure2-progress span b{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%}.closure2-progress .current{border-color:var(--ux-next);color:var(--ux-copy)}.closure2-progress .done{border-color:var(--ux-teal);color:var(--ux-teal)}

@media(max-width:1000px){
  .free-explore-index{grid-template-columns:repeat(3,1fr)!important}
  .procedure-card.available{grid-template-columns:38px minmax(0,1fr) auto}.procedure-card.available .procedure-copy small{display:none}.procedure-cta{min-width:160px}
  .position2-layout,.access-rehearsal-layout,.dissect-work,.division-work,.closure2-layout{grid-template-columns:1fr!important}
  .position2-stage,.access-world,.dissect-field,.divide-field{min-height:430px!important}
  .position2-controller{display:grid!important;grid-template-columns:1fr 1fr!important}.position2-controller>div:first-child,.position2-controller>.sim-action{grid-column:1/-1}
  .access-action-rail{min-height:90px!important}.camera-actions{margin:8px 0!important;max-width:none}
  .ioc-focus-grid{grid-template-columns:1fr}.ioc-mini-mission>header{grid-template-columns:1fr}.ioc-mini-mission>header p{grid-column:auto}
}

@media(max-width:700px){
  .topbar{padding-inline:12px;gap:8px}.topbar .brand{min-width:150px;padding:8px}.topbar .official-wordmark{width:146px}.release-label{display:none}.map-link{font-size:10px}
  .procedure-card.available{grid-template-columns:30px minmax(0,1fr) auto;padding-block:15px}.procedure-card.available .procedure-arrow{display:none}.procedure-cta{min-width:0;padding:10px 9px;font-size:7px;opacity:1;transform:none}.procedure-card.available:before,.procedure-card.available:after{display:none}
  .free-explore-index{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:8px!important;min-width:0!important}.free-explore-index>div{min-width:0!important;flex-wrap:wrap!important}.free-explore-index>button{min-width:0!important;min-height:42px!important;font-size:8px!important}
  .sim-overlay,.sim-shell{width:100vw!important;max-width:100vw!important;min-width:0!important}.sim-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.sim-header{grid-template-columns:1fr auto!important;padding:7px 9px!important;min-height:60px!important}.sim-brand-hud .sim-home{width:132px!important}.sim-case-id{grid-column:1/-1!important;padding-top:3px}.sim-case-id>span{display:none}.sim-case-id h2{font-size:15px!important}.sim-nav{display:none!important}.sim-tools{gap:5px!important}.sim-tools #simElapsed,.sim-tools #simCoach{display:none!important}.sim-tools button{min-height:34px!important;padding:6px 8px!important;font-size:6px!important}.sim-continuity{display:none!important}.sim-timeline{width:100%!important;max-width:100vw!important;min-width:0!important;min-height:54px!important;overflow-x:auto!important}.sim-timeline button{min-width:90px!important;padding:7px!important}.sim-stage{min-width:0!important;padding:9px!important;scroll-padding-top:106px}.sim-footer small{display:none}.sim-footer{min-height:34px!important}.sim-chapter>.role-brief{display:none}.mission-objective{min-height:42px!important}.mission-objective>em{display:none}
  .sim-chapter>h1{font-size:31px!important}.sim-kicker{font-size:6px!important}
  .position2-stage{min-height:44svh!important}.position2-table{left:8%;right:8%;top:66px;height:255px}.position2-patient{transform:translateX(-50%) scale(.77);transform-origin:top center}.position2-feedback{left:8px;right:8px;bottom:8px;display:grid;gap:4px}.position2-feedback span{font-size:6px}.position2-controller{grid-template-columns:1fr!important}.position2-controller>div:first-child,.position2-controller>.sim-action{grid-column:auto}.position2-controller button{min-height:52px!important}.position2-controller>.controller-axis{grid-template-columns:1fr 1fr}.position2-status{left:8px;top:8px;padding:8px}.position2-status b{font-size:7px}
  .access-world,.exposure-field,.orientation-field,.dissect-field,.divide-field{min-height:46svh!important}.access-action-rail{min-height:72px!important}.access-now{padding:8px!important}.access-now b{font-size:9px!important}
  .traction-controls>div{grid-template-columns:1fr 1fr!important}.traction-controls button{min-height:48px!important;font-size:7px!important}.traction-sequence{display:none!important}
  .dissect-actions{padding:7px!important}.dissect-instruments{grid-template-columns:1fr 1fr!important}.dissect-instruments button{min-height:82px!important}.dissect-instruments button span{font-size:7px!important}.ux-current-decision{grid-template-columns:1fr;padding:8px}.ux-current-decision span{grid-row:auto}.ux-current-decision small{display:none}
  .ioc-decision{padding:13px!important}.ioc-decision>div{grid-template-columns:1fr!important}.ioc-mini-mission{padding:8px!important}.ioc-focus-grid .ioc-visual{min-height:38svh!important}.ioc-mini-mission .fluoro-map{min-height:45svh!important}
  .fluoro-map .ioc-finding.anatomy-target.cystic{left:22%!important}.fluoro-map .ioc-finding.anatomy-target.right{left:25%!important}.fluoro-map .ioc-finding.anatomy-target.left{left:49%!important}.fluoro-map .ioc-finding.anatomy-target.duodenum{right:1%!important;width:122px!important}
  .division-controls{padding:8px!important}.divide-field{min-height:48svh!important}.divide-helper{font-size:8px!important}.divide-variation-note{display:none}
  .closure2-visual{min-height:46svh}.closure2-action{padding:12px}.closure2-progress{grid-template-columns:1fr 1fr}.closure2-progress span{min-height:42px}
  .finale-focus{grid-template-columns:1fr}.finale-focus>span,.finale-focus>h2,.finale-focus>p,.targeted-rep-cta{grid-column:1;grid-row:auto}.targeted-rep-cta{width:100%;min-width:0}.monitor-sightline{width:120px!important}.monitor-drag-cue{font-size:6px}
}

@media(max-width:430px){
  .topbar .brand{min-width:128px}.topbar .official-wordmark{width:122px}.map-link span:first-child{display:none}
  .sim-brand-hud .sim-release-label{display:none}.sim-brand-hud .sim-home{width:116px!important}
  .position2-table{height:230px}.position2-patient{transform:translateX(-50%) scale(.68)}
  .closure2-progress{grid-template-columns:1fr}.closure2-label b{font-size:9px}
}

/* Interaction Density + Visual Precision — compact cockpit and simultaneous control/consequence. */
.sim-shell{grid-template-rows:64px 50px minmax(0,1fr) 34px!important}
.sim-header{grid-template-columns:minmax(270px,330px) auto minmax(220px,1fr) auto!important;gap:8px!important;min-height:64px!important;padding:7px 14px!important;background:#191919!important;border-bottom:1px solid #27333a!important}
.sim-brand-hud{gap:8px!important}.sim-brand-hud .sim-home{flex:0 0 136px!important;width:136px!important;height:48px!important;padding:2px 6px!important;border:0!important;background:#191919!important}.sim-brand-hud .sim-release-label{padding:7px 9px!important;font-size:6px!important}.sim-brand-hud #simTimerDock{flex:0 0 92px!important;min-height:42px!important}.guided-case-active #simTimerDock .prep-timer.guided-timer.b1-timer-docked{min-width:88px!important;padding:5px 7px!important}
.sim-nav{align-items:center!important;gap:5px!important;flex-wrap:nowrap!important}.sim-nav button{min-width:58px!important;min-height:38px!important;padding:7px 8px!important}.sim-nav #simReturnCurrent{flex-basis:auto!important;min-width:168px!important}
.sim-case-id{align-self:center!important}.sim-case-id>span{font-size:6px!important}.sim-case-id h2{margin:2px 0 0!important;font-size:15px!important;line-height:1.05!important}
.sim-tools{gap:5px!important}.sim-tools button{min-height:38px!important;padding:7px 9px!important;font-size:7px!important}.sim-tools #simElapsed{display:none!important}
.sim-continuity{display:none!important}
.sim-timeline{min-height:50px!important;padding:5px 14px!important;gap:4px!important;background:#080e12!important}.sim-timeline button{min-height:40px!important;padding:5px 7px!important;font-size:7px!important}
.sim-stage{padding:8px 14px 12px!important;scroll-padding-top:52px!important}.sim-stage>.sim-chapter{max-width:1540px!important}
.sim-footer{min-height:34px!important;padding:5px 14px!important}.sim-footer span{font-size:8px!important;line-height:1.35!important}.sim-footer small{font-size:7px!important}
.sim-chapter>h1{margin:2px 0 5px!important;font-size:clamp(24px,2.5vw,38px)!important;line-height:1!important}.sim-kicker{font-size:7px!important;margin-bottom:2px!important}
.density-subtitle,.density-role-brief{display:none!important}
.mission-objective{position:sticky!important;top:-1px!important;display:grid!important;grid-template-columns:auto minmax(260px,1fr) auto minmax(220px,.65fr)!important;align-items:center!important;gap:6px 12px!important;min-height:42px!important;margin:0 0 6px!important;padding:7px 10px!important;border-left-width:4px!important}.mission-objective>span{font-size:7px!important}.mission-objective>b{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-objective>em{font-size:7px!important;white-space:nowrap}.mission-objective>strong{justify-self:stretch!important;min-width:0!important;padding:7px 9px!important;font-size:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mission-cue{margin-top:6px!important;padding:8px 10px!important}.mission-cue span{font-size:9px!important}

/* Entry method: compact technical catalog cards, not oversized illustrations. */
.density-entry-method .access-choice{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-top:7px!important}.density-entry-method .access-choice button{display:grid!important;grid-template-rows:86px auto auto!important;min-height:154px!important;padding:10px 12px!important}.density-entry-method .access-choice .method-device{height:74px!important;transform:scale(.76)!important;transform-origin:center}.density-entry-method .access-choice b{font-size:12px!important}.density-entry-method .access-choice small{margin-top:4px!important;font-size:7px!important;line-height:1.35!important}.density-entry-method .source-note{margin-top:6px!important;font-size:7px!important}

/* Open access: a readable torso, centered umbilicus, and a 65/35 field/action console. */
.access-now{min-height:38px!important;padding:7px 10px!important;margin-bottom:6px!important}.access-now span{font-size:6px!important}.access-now b{font-size:10px!important}.access-rehearsal-layout{grid-template-columns:minmax(0,1.72fr) minmax(280px,.72fr)!important;gap:8px!important;align-items:stretch!important}.access-world{height:min(55svh,490px)!important;min-height:400px!important}.abdomen-surface{background:radial-gradient(ellipse at 50% 52%,rgba(216,170,145,.3) 0 7%,transparent 8%),radial-gradient(ellipse at 50% 45%,#9a7469 0 36%,#6d504a 58%,#2b272a 100%)!important;box-shadow:inset 0 0 70px rgba(24,12,14,.68)!important}.abdomen-surface:before{content:'';position:absolute;z-index:1;left:calc(50% - 1px);top:8%;bottom:8%;width:2px;background:linear-gradient(transparent,rgba(235,196,175,.23) 18%,rgba(61,31,33,.32) 75%,transparent)}.abdomen-surface:after{content:'';position:absolute;z-index:1;left:8%;right:8%;top:12%;bottom:10%;border:1px solid rgba(242,206,188,.18);border-radius:48% 48% 34% 34%;box-shadow:inset 0 -30px 55px rgba(54,27,31,.3)}.abdomen-surface>.umbilicus{z-index:4;width:30px!important;height:15px!important;left:calc(50% - 15px)!important;top:56%!important;background:#2d1a1b!important;box-shadow:0 0 0 6px rgba(225,184,160,.12)!important}.access-action-rail{display:grid!important;grid-template-columns:1fr!important;align-content:start!important;gap:6px!important;margin:0!important;padding:8px!important;border:1px solid var(--ux-line);background:var(--ux-panel)}.access-action-rail .sim-action{min-height:58px!important}.access-action-rail .sim-action:not(.sim-next):not(.done){opacity:.24}.access-action-rail .sim-action.done{display:none!important}.access-action-rail .sim-action span{font-size:9px!important}.access-action-rail .sim-action small{display:block;margin-top:4px;color:var(--ux-muted);font:6px/1.35 var(--mono)}

/* Camera and exposure: action rail remains beside the changing field. */
.density-camera-console,.density-exposure-console{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(280px,.72fr);gap:8px;align-items:stretch}.density-camera-console .camera-transition{height:min(55svh,490px)!important}.density-camera-console .camera-actions{display:grid!important;grid-template-columns:1fr!important;align-content:center!important;margin:0!important;padding:12px!important;border:1px solid var(--ux-line);background:var(--ux-panel)}.density-camera-console .camera-actions .sim-action{min-height:84px!important}.density-camera-console .camera-actions small{display:block;margin-top:5px;color:var(--ux-muted);font:6px var(--mono)}.camera-transition.c6 .inside-camera{filter:none!important}.camera-transition.c6 .outside-camera i{transform:translateY(145px)!important}.camera-transition.c6 .inside-horizon{rotate:0deg!important}.camera-transition.c6 .inside-gb{opacity:1!important;box-shadow:0 0 0 2px var(--sim-teal)!important}.camera-transition.c6 .diagnostic-sweep{opacity:1!important}
.density-exposure-console .exposure-field{height:min(57svh,505px)!important}.density-exposure-console .traction-controls{display:grid!important;grid-template-columns:1fr!important;align-content:center!important;margin:0!important;padding:10px!important;border:1px solid var(--ux-line);background:var(--ux-panel)}.density-exposure-console .traction-controls>div{grid-template-columns:1fr!important}.density-exposure-console .traction-controls button{min-height:52px!important}.expose-chapter>.traction-sequence{display:none!important}

/* Critical View: field left, current tissue decision and compact criteria right. */
.density-critical-view .dissect-work{grid-template-columns:minmax(0,1.72fr) minmax(320px,.72fr)!important;gap:8px!important;align-items:stretch!important}.density-critical-view .dissect-field{height:min(58svh,515px)!important;min-height:430px!important}.density-critical-view .dissect-actions{display:grid!important;align-content:start!important;gap:6px!important;padding:8px!important;min-width:0!important}.density-critical-view .ux-current-decision{margin:0!important;padding:7px 9px!important}.density-critical-view .instrument-commitment,.density-critical-view .ux-bank-label{display:none!important}.density-critical-view .dissect-instruments{grid-template-columns:1fr 1fr!important;gap:5px!important}.density-critical-view .dissect-instruments button{min-height:74px!important;padding:6px!important}.density-critical-view .dissect-instruments button .surgical-instrument{transform:scale(.39)!important;margin:-22px -72px -27px!important}.density-critical-view .dissect-instruments button span{font-size:6px!important}.density-critical-view .mission-prompt{padding:7px!important;gap:5px!important}.density-critical-view .mission-prompt>b{display:none!important}.density-critical-view .danger-attempt{min-height:30px!important;padding:5px!important;font-size:6px!important;opacity:.55}.density-critical-view .view-doublet{grid-template-columns:1fr 1fr!important;gap:4px!important;margin:0!important}.density-critical-view .view-doublet span{min-height:28px!important;padding:5px!important;font-size:6px!important}.density-critical-view .cvs-status{grid-template-columns:1fr!important;gap:3px!important;margin:0!important}.density-critical-view .cvs-status span{min-height:26px!important;padding:4px 6px!important;font-size:6px!important;line-height:1.25!important}.density-critical-view>.mission-cue{display:none!important}

/* IOC: one physical phase at a time, then direct anatomy identification. */
.density-decision{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:5px 14px!important;padding:10px!important}.density-decision>span,.density-decision>h2,.density-decision>small{grid-column:1!important}.density-decision>h2{margin:0!important;font-size:17px!important}.density-decision>div{grid-column:2!important;grid-row:1/4!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important}.density-decision button{min-width:190px!important;min-height:44px!important}.density-ioc{padding:8px!important}.density-ioc>header{display:flex!important;align-items:baseline!important;gap:12px!important;padding:4px 6px!important}.density-ioc>header h2{margin:0!important;font-size:18px!important}.density-ioc .ioc-focus-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr)!important;gap:7px!important}.density-ioc .ioc-visual{min-height:min(48svh,430px)!important}.density-ioc .ioc-current-action{display:grid;align-content:center;gap:8px;padding:13px;border:1px solid var(--ux-line);background:var(--ux-panel)}.density-ioc .ioc-current-action>span{color:var(--ux-next);font:7px var(--mono)}.density-ioc .ioc-current-action>b{font:12px/1.35 var(--mono)}.density-ioc .ioc-current-action small{color:var(--ux-muted);font:6px/1.4 var(--mono)}.density-ioc-identify{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.75fr);gap:7px}.density-ioc-identify .fluoro-map{min-height:min(54svh,470px)!important}.ioc-confirmed-strip{display:flex;gap:4px;overflow-x:auto;margin-top:5px}.ioc-confirmed-strip span{flex:0 0 auto;padding:5px 7px;border:1px solid rgba(82,224,196,.46);color:var(--ux-teal);font:6px var(--mono)}.fluoro-map.try-again{animation:densityTryAgain .3s ease}@keyframes densityTryAgain{50%{box-shadow:inset 0 0 0 3px #ef766f}}

/* Divide goes straight to the visible target; tool changes are consequences of control state. */
.division-work{grid-template-columns:minmax(0,1.72fr) minmax(300px,.68fr)!important}.divide-field{height:min(58svh,515px)!important;min-height:430px!important}.division-controls.density-direct-control .instrument-bank{display:none!important}.division-controls.density-direct-control .divide-helper{margin:4px 0!important;padding:8px!important;border:1px solid rgba(219,232,111,.35);color:var(--ux-next)!important}.density-direct-target{box-shadow:0 0 0 8px rgba(219,232,111,.05),0 0 26px rgba(219,232,111,.35)!important}

/* Liver bed: one deliberate release action per segment and one final-field inspection. */
.liverbed-work{grid-template-columns:minmax(0,1.72fr) minmax(300px,.68fr)!important;gap:8px!important}.liverbed-field{height:min(58svh,515px)!important;min-height:430px!important}.bed-actions{align-content:center!important;padding:10px!important;border:1px solid var(--ux-line);background:var(--ux-panel)}.density-final-inspection{min-height:76px!important}.density-inspection-results{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:5px}.density-inspection-results span{padding:9px;border:1px solid rgba(82,224,196,.55);background:rgba(82,224,196,.055);color:var(--ux-teal);font:7px var(--mono)}.bed-tool-bank{margin-top:2px!important}.bed-actions>small{font-size:6px!important;line-height:1.35!important}
.density-stage .bed-inspection~.bed-tool-bank,.density-stage .bed-inspection~small{display:none!important}

/* Completion: compact, honest performance signal with a direct next rep. */
.density-stage>.role-band{display:none!important}
.density-ioc>.density-ioc-identify{grid-template-columns:minmax(230px,.52fr) minmax(0,1.85fr)!important}
.density-ioc-identify>.ioc-current-action{align-self:start!important;min-height:152px}
.density-performance{display:grid;grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);gap:12px;margin:10px 0;padding:12px 14px;border:1px solid var(--ux-line);background:linear-gradient(110deg,rgba(126,165,255,.08),rgba(82,224,196,.025))}.density-performance header{display:grid;align-content:center;gap:5px}.density-performance header span{color:var(--ux-blue);font:8px var(--mono);letter-spacing:.14em}.density-performance header b{font:11px var(--mono)}.density-performance header small{color:var(--ux-muted);font:6px var(--mono)}.density-performance>div{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.density-performance article{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}.density-performance article span{color:#c3d1cf;font:7px var(--mono)}.density-performance article b{color:var(--ux-teal);font:11px var(--mono)}.density-performance article i{grid-column:1/-1;height:4px;background:#1c2b31}.density-performance article em{display:block;height:100%;background:linear-gradient(90deg,var(--ux-blue),var(--ux-teal))}.finale-focus{padding:12px 14px!important}.finale-focus h2{font-size:25px!important}.finale-focus p{font-size:12px!important;line-height:1.45!important}.finale-actions{margin-top:10px!important}.finale-actions .sim-action{min-height:72px!important}

@media(min-width:780px) and (max-width:1100px){
  .sim-header{grid-template-columns:minmax(250px,1fr) auto!important;grid-template-rows:48px 30px!important;height:82px!important}.sim-shell{grid-template-rows:82px 48px minmax(0,1fr) 34px!important}.sim-brand-hud{grid-column:1;grid-row:1}.sim-tools{grid-column:2;grid-row:1}.sim-case-id{grid-column:1;grid-row:2!important}.sim-nav{grid-column:2;grid-row:2!important;justify-content:flex-end}.sim-case-id h2{font-size:12px!important}.sim-timeline{padding-inline:8px!important}
  .position2-layout,.access-rehearsal-layout,.density-camera-console,.density-exposure-console,.density-critical-view .dissect-work,.division-work,.liverbed-work,.closure2-layout{grid-template-columns:minmax(0,1.58fr) minmax(260px,.72fr)!important}
  .access-world,.density-camera-console .camera-transition,.density-exposure-console .exposure-field,.density-critical-view .dissect-field,.divide-field,.liverbed-field{min-height:390px!important;height:min(52svh,450px)!important}
}

@media(max-width:779px){
  .sim-shell{grid-template-rows:auto 50px minmax(0,1fr) 34px!important}.sim-header{grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;height:auto!important;min-height:70px!important}.sim-brand-hud{grid-column:1;grid-row:1}.sim-tools{grid-column:2;grid-row:1}.sim-case-id{grid-column:1/-1;grid-row:2!important}.sim-nav{display:none!important}.sim-brand-hud .sim-home{flex-basis:116px!important;width:116px!important}.sim-brand-hud #simTimerDock{flex-basis:82px!important}.sim-tools #simCoach{display:none!important}.sim-tools button{font-size:7px!important;min-height:38px!important}.sim-case-id h2{font-size:12px!important}.sim-timeline{grid-template-columns:repeat(7,92px)!important;overflow-x:auto!important}.mission-objective{grid-template-columns:auto minmax(0,1fr)!important;gap:4px 8px!important}.mission-objective>em{display:none!important}.mission-objective>strong{grid-column:1/-1!important;font-size:7px!important}.mission-objective>b{font-size:8px!important}.density-entry-method .access-choice{grid-template-columns:1fr!important}.density-entry-method .access-choice button{grid-template-columns:110px 1fr!important;grid-template-rows:auto auto!important;min-height:104px!important}.density-entry-method .access-choice .method-device{grid-row:1/3!important;height:76px!important}.access-rehearsal-layout,.density-camera-console,.density-exposure-console,.density-critical-view .dissect-work,.division-work,.liverbed-work,.closure2-layout{grid-template-columns:1fr!important}.access-world,.density-camera-console .camera-transition,.density-exposure-console .exposure-field,.density-critical-view .dissect-field,.divide-field,.liverbed-field{min-height:45svh!important;height:45svh!important}.access-action-rail,.density-camera-console .camera-actions,.density-exposure-console .traction-controls,.density-critical-view .dissect-actions,.division-controls,.bed-actions,.closure2-action{position:sticky!important;bottom:0!important;z-index:45!important;box-shadow:0 -14px 28px rgba(4,8,10,.82)}.density-critical-view .dissect-field,.divide-field{min-height:52svh!important;height:52svh!important}.density-critical-view .dissect-actions,.division-controls{position:relative!important;bottom:auto!important;z-index:auto!important;box-shadow:none!important}.density-ioc .ioc-focus-grid,.density-ioc-identify{grid-template-columns:1fr!important}.density-ioc .ioc-current-action{position:sticky;bottom:0;z-index:45}.density-decision{grid-template-columns:1fr!important}.density-decision>div{grid-column:1!important;grid-row:auto!important}.density-decision button{min-width:0!important}.density-performance{grid-template-columns:1fr!important}.density-performance>div{grid-template-columns:1fr!important}
}

@media(max-width:779px){
  .sim-shell:has(.sim-stage.reviewing) .sim-nav{display:flex!important;grid-column:1/-1!important;grid-row:3!important;overflow-x:auto!important;justify-content:flex-start!important}
  .sim-shell:has(.sim-stage.reviewing) .sim-nav #simReturnCurrent{min-width:168px!important}
  .density-ioc,.density-ioc-identify,.density-ioc-identify>*{min-width:0!important;max-width:100%!important}
  .density-ioc>.density-ioc-identify{grid-template-columns:1fr!important}
  .density-ioc-identify .fluoro-map{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .density-ioc .ioc-confirmed-strip{max-width:100%!important;overflow-x:auto!important}
}

@media(prefers-reduced-motion:reduce){
  .position2-table,.closure2-edge,.closure2-gap,.room{transition:none!important}
}

/* Position interface hardening — one action, one table consequence, no overlap. */
.sim-header{box-sizing:border-box!important;overflow:hidden!important}
.sim-header>*{min-width:0!important}.sim-case-id{position:static!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;overflow:hidden!important}.sim-case-id h2{max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.sim-timeline{position:relative;z-index:5;align-items:stretch!important;overflow:hidden}.sim-timeline button{min-width:0!important;max-height:44px!important;overflow:hidden!important}.sim-timeline button.current:after{margin-top:2px!important}
.position2-layout{grid-template-columns:minmax(0,1.7fr) minmax(320px,.62fr)!important;gap:10px!important;min-width:0!important}
.position2-stage,.position2-controller{min-width:0!important;box-sizing:border-box!important}
.position2-controller{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start!important;gap:10px!important;overflow:hidden!important;padding:13px!important}
.position2-controller>*{grid-column:1!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
.position2-action-head{display:grid!important;gap:5px!important;padding:2px 2px 11px!important;border-bottom:1px solid var(--ux-line)!important}.position2-action-head span{color:var(--ux-blue)!important;font:8px var(--mono)!important;letter-spacing:.14em!important}.position2-action-head b{color:var(--ux-copy)!important;font:13px/1.35 var(--mono)!important}.position2-action-head small{color:var(--ux-muted)!important;font:7px/1.5 var(--mono)!important}
.position2-primary{width:100%!important;min-height:78px!important;padding:13px!important;background:linear-gradient(135deg,rgba(219,232,111,.12),rgba(82,224,196,.035))!important}.position2-primary>span{display:grid;gap:4px;min-width:0}.position2-primary b{color:var(--ux-copy);font:10px/1.35 var(--mono);white-space:normal}.position2-primary small{color:#aebbb9;font:7px/1.45 var(--mono)}
.position2-progress{display:grid;gap:5px;margin:0;padding:0;list-style:none}.position2-progress li{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:46px;padding:7px 8px;border:1px solid #26373d;background:#0c1418;color:#68777a}.position2-progress li>b{display:grid;place-items:center;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font:8px var(--mono)}.position2-progress li>span{display:grid;gap:2px;font:8px/1.3 var(--mono)}.position2-progress li small{color:#617174;font:6px/1.3 var(--mono)}.position2-progress li.current{border-color:var(--ux-next);color:var(--ux-copy);background:rgba(219,232,111,.055)}.position2-progress li.current>b{color:var(--ux-next)}.position2-progress li.done{border-color:rgba(82,224,196,.48);color:var(--ux-teal);background:rgba(82,224,196,.045)}.position2-progress li.done>b{font-size:0}.position2-progress li.done>b:after{content:'✓';font-size:9px}
.position2-adjustments{margin-top:1px;border-top:1px solid #25343a;padding-top:7px}.position2-adjustments summary{padding:6px 2px;color:#738184;font:6px var(--mono);letter-spacing:.1em;cursor:pointer;list-style-position:inside}.position2-adjustments[open] summary{color:#9aa9a7}.position2-adjustments>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding-top:5px}.position2-adjustments button{min-width:0!important;min-height:38px!important;padding:7px!important;border:1px solid #2b3a40;background:#0b1216;color:#849294;font:7px var(--mono);cursor:pointer}.position2-adjustments button:hover,.position2-adjustments button:focus-visible{border-color:var(--ux-blue);color:var(--ux-copy);outline:none}.position2-adjustments button.active-warning{border-color:var(--sim-amber);color:var(--sim-amber)}
.position2-complete{display:grid;gap:4px;padding:13px;border:1px solid rgba(82,224,196,.6);background:rgba(82,224,196,.065)}.position2-complete b{color:var(--ux-teal);font:10px var(--mono)}.position2-complete span{color:#a8bbb7;font:7px var(--mono)}

@media(min-width:901px) and (max-width:1180px){
  .sim-shell{grid-template-rows:auto 54px minmax(0,1fr) 34px!important}
  .sim-header{height:auto!important;min-height:88px!important;grid-template-columns:minmax(250px,1fr) auto!important;grid-template-rows:48px 30px!important;padding:5px 10px!important}
  .sim-brand-hud{grid-column:1!important;grid-row:1!important}.sim-tools{grid-column:2!important;grid-row:1!important}.sim-case-id{grid-column:1!important;grid-row:2!important}.sim-nav{grid-column:2!important;grid-row:2!important;justify-content:flex-end!important}
  .position2-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.62fr)!important}.position2-stage{min-height:460px!important}.position2-controller{padding:10px!important}
}

@media(max-width:900px){
  .sim-shell{grid-template-rows:auto 54px minmax(0,1fr) 34px!important}.sim-header{height:auto!important;min-height:88px!important;overflow:visible!important}.sim-timeline{overflow-x:auto!important;overflow-y:hidden!important}.sim-timeline button{min-width:92px!important}
  .position2-layout{grid-template-columns:1fr!important}.position2-stage{min-height:440px!important}.position2-controller{display:grid!important;grid-template-columns:1fr!important;position:sticky;bottom:0;z-index:45;box-shadow:0 -14px 28px rgba(4,8,10,.82)}
}

@media(max-width:430px){
  .position2-controller{padding:9px!important}.position2-action-head b{font-size:11px!important}.position2-primary{min-height:68px!important}.position2-progress li{min-height:40px}.position2-progress li small{display:none}.position2-adjustments>div{grid-template-columns:1fr}
}
