/* Scene-native controls. One environment, with status attached to its action. */
.hsos-simulation .sim-stage{display:block;min-height:0}
.hsos-simulation .sim-world{position:relative;min-height:880px;isolation:isolate;overflow:hidden}
.hsos-simulation .sim-toolbar{position:absolute;inset:20px 28px auto;z-index:8;display:flex;align-items:center;justify-content:space-between;border:0;background:none;gap:24px}
.hsos-simulation .sim-command{padding:0;background:none;border:0;min-width:0}
.hsos-simulation .sim-concept{display:none}
.hsos-simulation .sim-scenarios{padding:0 16px;gap:26px;background:#0b110dd9;border:1px solid #b9cebf24;border-radius:30px;backdrop-filter:blur(14px)}
.hsos-simulation .sim-scenarios button{padding:13px 0;font-size:12px;min-height:44px}
.hsos-simulation .sim-test-select{position:absolute;top:88px;right:28px;z-index:8;padding:0;border:0;gap:10px;background:none}
.hsos-simulation .sim-test-select label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hsos-simulation .sim-test-select select{min-width:0;max-width:260px;width:260px;background:#0b110de8;border-radius:24px;font-size:12px;padding:11px 30px 11px 16px;min-height:44px}
.hsos-simulation .sim-scene-title{top:143px;left:28px;right:28px;max-width:600px;z-index:3}
.hsos-simulation .sim-scene-title h3{font-size:28px;margin:10px 0 0}
.hsos-simulation #sim-scene-example{max-width:520px;margin-top:10px}
.hsos-simulation .sim-footnote{position:absolute;top:91px;left:28px;z-index:7;padding:8px 0;margin:0;background:none;font:10px/1.5 monospace;color:#98ada0;pointer-events:none}
.hsos-simulation .sim-facts{position:absolute;left:28px;right:28px;bottom:100px;z-index:5;display:flex;justify-content:center;gap:14px;padding:0;border:0;background:none;backdrop-filter:none;opacity:1}
.hsos-simulation .sim-facts>div{display:flex;align-items:center;gap:10px;padding:12px 17px;border:1px solid #b9cebf26;border-radius:28px;background:#0b110de8;backdrop-filter:blur(12px);max-width:33.333%}
.hsos-simulation .sim-facts span{font:9px/1.4 monospace;letter-spacing:.05em;color:#8fa598}
.hsos-simulation .sim-facts strong{font-size:13px;line-height:1.4;font-weight:400}
.hsos-simulation .sim-supervisor{padding:15px 18px}
.hsos-simulation .sim-decision-flow{display:block;padding:0 0 10px;margin:0 0 12px;border:0;border-bottom:1px solid #bfd3c321;counter-reset:step}
.hsos-simulation .sim-decision-flow>div{counter-increment:step;display:none;font:10px/1.4 monospace;letter-spacing:.04em;gap:8px}
.hsos-simulation .sim-decision-flow>div[aria-current=step]{display:flex}
.hsos-simulation .sim-decision-flow>div::before{content:attr(data-step-label);display:block;width:auto;height:auto;border:0;box-shadow:none;background:none;color:#9caf9f;margin-right:auto}
.hsos-simulation .sim-decision-flow .action-icon{width:18px;height:18px;flex-basis:18px}
.hsos-simulation .sim-supervisor-heading{margin-bottom:8px}
.hsos-simulation .sim-dialogue{width:286px}
.hsos-simulation .sim-scene-controls{position:absolute;inset:auto 28px 22px;z-index:10;display:flex;align-items:center;gap:20px;min-height:48px}
.hsos-simulation .sim-playback{margin-left:auto;padding:0;gap:6px;border:0;background:#0b110de8;border-radius:26px;flex-shrink:0}
.hsos-simulation .sim-progress{display:none}
.hsos-simulation #sim-next{border:0;padding:12px 16px;min-height:44px}
.hsos-simulation .sim-review-link{padding:0;font-size:11px}
.hsos-simulation .sim-review-link a{border:0}
.hsos-simulation .action-key,.hsos-simulation .sim-evidence{position:static;margin:0;padding:0;border:0;font-size:11px}
.hsos-simulation .action-key summary,.hsos-simulation .sim-evidence summary{position:relative;z-index:2;min-height:44px;display:flex;align-items:center;cursor:pointer;color:#b9cdc0}
.hsos-simulation .action-key[open],.hsos-simulation .sim-evidence[open]{position:absolute;bottom:0;left:0;right:0;max-height:min(660px,65svh);overflow:auto;padding:22px 28px;border:1px solid #afc8b740;border-radius:18px;background:#0b120ff7;backdrop-filter:blur(24px);box-shadow:0 20px 80px #0009;z-index:12}
.hsos-simulation .action-key[open] summary::after,.hsos-simulation .sim-evidence[open] summary::after{content:'Close ×';margin-left:auto;padding-left:20px;color:#d9e7dd}
.hsos-simulation .action-key-grid{padding-top:20px}
.hsos-simulation .sim-evidence .sim-results{margin:16px 0 0}
.hsos-simulation[data-personal="true"] .sim-world{min-height:980px}
.hsos-simulation[data-personal="true"] .agent-conversation{inset:278px 8% 174px}
.hsos-simulation[data-personal="true"] .agent-presences{inset:130px 0 180px;opacity:.5;pointer-events:none}
.hsos-simulation[data-personal="true"] .sim-dialogue{top:480px;left:50%;width:min(520px,80%);text-align:left}
.hsos-simulation[data-personal="true"] .agent-action{bottom:0}
.hsos-simulation[data-scene="2"][data-personal="false"] .sim-world{min-height:1100px}
.hsos-simulation[data-scene="2"][data-personal="false"] .sim-dialogue{top:277px;width:340px}
.hsos-simulation[data-scene="2"][data-personal="false"] .bank-simulation{inset:520px 5% 180px}
@media(max-width:760px){
 .hsos-simulation .sim-world{min-height:980px}
 .hsos-simulation .sim-toolbar{inset:18px 16px auto;display:block}
 .hsos-simulation .sim-command{height:30px}
 .hsos-simulation .sim-scenarios{margin-top:16px;justify-content:space-around;gap:12px;padding:0 12px}
 .hsos-simulation .sim-scenarios button{font-size:12px;flex:1}
 .hsos-simulation .sim-test-select{top:124px;left:16px;right:16px;justify-content:flex-end;padding:0}
 .hsos-simulation .sim-test-select select{width:100%;max-width:none;font-size:12px}
 .hsos-simulation .sim-footnote{top:23px;left:auto;right:16px;font-size:8px;max-width:135px;text-align:right}
 .hsos-simulation .sim-scene-title{top:195px;left:20px;right:20px}
 .hsos-simulation .sim-scene-title h3{font-size:23px;line-height:1.2}
 .hsos-simulation #sim-scene-example{font-size:12px;max-width:100%;line-height:1.5}
 .hsos-simulation .sim-facts{left:16px;right:16px;bottom:94px;gap:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hsos-simulation .sim-facts>div{max-width:none;padding:12px 9px;border-radius:14px;display:grid;gap:6px;align-content:start}
 .hsos-simulation .sim-facts span{font-size:8px;letter-spacing:0;overflow-wrap:anywhere}
 .hsos-simulation .sim-facts strong{font-size:11px}
 .hsos-simulation .sim-dialogue{width:250px}
 .hsos-simulation .sim-scene-controls{inset:auto 16px 16px;gap:14px;flex-wrap:wrap;min-height:44px}
 .hsos-simulation .sim-review-link{display:none}
 .hsos-simulation .action-key summary,.hsos-simulation .sim-evidence summary{font-size:10px}
 .hsos-simulation #sim-next{padding:12px 10px;font-size:10px}
 .hsos-simulation .sim-playback{gap:0}
 .hsos-simulation #sim-toggle{width:38px}
 .hsos-simulation .action-key[open],.hsos-simulation .sim-evidence[open]{padding:16px;max-height:65svh}
 .hsos-simulation[data-personal="true"] .sim-world{min-height:1250px}
 .hsos-simulation[data-personal="true"] .agent-conversation{inset:325px 20px 188px}
 .hsos-simulation[data-personal="true"] .agent-presences{inset:240px 0 220px}
 .hsos-simulation[data-personal="true"] .sim-dialogue{top:650px;width:calc(100% - 40px)}
 .hsos-simulation[data-scene="2"][data-personal="false"] .sim-world{min-height:1290px}
 .hsos-simulation[data-scene="2"][data-personal="false"] .sim-dialogue{top:335px;width:calc(100% - 40px)}
 .hsos-simulation[data-scene="2"][data-personal="false"] .bank-simulation{inset:620px 16px 194px}
}

.hsos-simulation .sim-world .action-icon,.hsos-simulation #sim-toggle svg{min-height:0}
.hsos-simulation .sim-decision-flow>div{flex-direction:row;align-items:center}
.hsos-simulation .sim-evidence[open] summary,.hsos-simulation .action-key[open] summary{position:sticky;top:-22px;background:#0b120f;z-index:2}

/* The action badge is the status; the small counter is its place in the sequence. */
.hsos-simulation .sim-supervisor-heading .sim-decision-flow{padding:0;margin:0 auto 0 0;border:0}
.hsos-simulation .sim-supervisor-heading .sim-decision-flow .action-icon,.hsos-simulation .sim-supervisor-heading .sim-decision-flow span{display:none}
.hsos-simulation .sim-supervisor-heading .sim-decision-flow>div::before{font-size:9px;white-space:nowrap}
