/* Shared scene, observer and outcome surfaces for every situation. */
#hsos-simulation .sim-world{min-height:980px}
#hsos-simulation .sim-header{position:relative;z-index:8;padding:24px 32px 0}
#hsos-simulation .sim-toolbar{position:relative;inset:auto;display:flex;flex-wrap:nowrap;gap:24px;padding:0}
#hsos-simulation .sim-command{flex-shrink:0}
#hsos-simulation .sim-scenarios{margin:0;padding:0 20px;gap:28px;justify-content:center}
#hsos-simulation .sim-scenarios button{white-space:nowrap;font:13px/1.3 inherit;padding:14px 0}
#hsos-simulation .sim-test-select{position:relative;inset:auto;display:block;border:0;padding:22px 0 0;margin:0;background:none}
#hsos-simulation .sim-sr-only{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}
#hsos-simulation .sim-case-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:900px;margin:auto}
#hsos-simulation .sim-situation{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 18px;background:#0d1511ba;border:1px solid #a2b7a625;border-radius:12px;color:#a9b9ae;font:13px/1.4 inherit;text-align:center;transition:background .2s,border-color .2s,color .2s}
#hsos-simulation .sim-situation[aria-pressed=true]{background:#203329;color:#edf4ee;border-color:#bdd3c275;box-shadow:inset 0 1px 0 #d1e8d213}
#hsos-simulation .sim-situation-fault::before{content:'';width:5px;height:5px;border-radius:50%;background:#c5a278;flex-shrink:0}
#hsos-simulation .sim-situation-fault[aria-pressed=true]{border-color:#c5a27875;background:#30291f}
#hsos-simulation .sim-situation:hover{border-color:#c8d9cd65;color:#edf4ee}
#hsos-simulation .sim-scene-title{position:relative;inset:auto;max-width:none;margin:30px 0 0;pointer-events:none}
#hsos-simulation .sim-scene-title h3{font-size:30px;line-height:1.15;margin:10px 0 0}
#hsos-simulation .sim-scene-title>span{font-size:10px;letter-spacing:.1em}
#hsos-simulation .sim-facts{bottom:26px;left:32px;right:32px;justify-content:center}
#hsos-simulation .sim-facts>div{border-radius:12px;padding:14px 18px;border-color:#bbd0c02b;background:#0b110ee6}
#hsos-simulation .sim-facts strong{font-size:14px}
#hsos-simulation .sim-dialogue{width:310px;max-width:calc(100% - 40px);transition:none}
#hsos-simulation .sim-supervisor{border:1px solid #bdd5c335;border-left:2px solid #b7d9c2;border-radius:14px;background:linear-gradient(135deg,#1a2821f7,#101a15f7);padding:17px 19px}
#hsos-simulation .sim-supervisor-heading{align-items:center;gap:12px;flex-wrap:wrap}
#hsos-simulation .sim-wisdom-brand{display:flex;align-items:center;gap:9px;font:13px/1.2 inherit;letter-spacing:.05em;color:#e3ece5}
#hsos-simulation .sim-wisdom-brand img{width:24px;height:24px;object-fit:contain}
#hsos-simulation .sim-supervisor-message,#hsos-simulation #sim-supervisor-message{font-size:16px;line-height:1.5;margin:12px 0 0}
#hsos-simulation #sim-speaker{display:block;font-size:9px;letter-spacing:.1em;margin:15px 0 0;padding:12px 17px 0;background:#0e1713ed;border-radius:12px 12px 0 0}
#hsos-simulation #sim-message{font-size:15px;line-height:1.5;margin:0;padding:8px 17px 15px;background:#0e1713ed;border-radius:0 0 12px 12px}
#hsos-simulation[data-adverse=true] .sim-supervisor{border-color:#c5a27844;border-left-color:#c5a278}
/* Agents propose an action. HS OS remains a distinct observer. */
#hsos-simulation[data-scene="2"] .sim-world{min-height:calc(var(--sim-hud-height,260px) + 790px);background:radial-gradient(ellipse at 50% 58%,#22372b35,transparent 64%),#090d0c}
#hsos-simulation[data-scene="2"] .agent-conversation{display:block;position:absolute;inset:calc(var(--sim-hud-height,260px) + 26px) 8% auto}
#hsos-simulation[data-scene="2"] .agent-context{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:840px}
#hsos-simulation[data-scene="2"] .agent-context article{padding:21px 24px;border-radius:14px;background:#101913cc;border:1px solid #b0c5b42a;border-top:1px solid #b9cebf55;min-height:132px;box-sizing:border-box}
#hsos-simulation[data-scene="2"] .agent-context p{font-size:16px;line-height:1.55;margin:10px 0 0}
#hsos-simulation[data-scene="2"] .agent-context span{font-size:10px;letter-spacing:.09em;color:#9db3a5}
#hsos-simulation[data-scene="2"] .agent-action{display:none}
#hsos-simulation[data-scene="2"] .sim-dialogue{top:calc(var(--sim-hud-height,260px) + 191px);left:50%;width:360px;max-width:calc(100% - 40px);transform:translateX(-50%)!important;text-align:left;background:none;border:0;box-shadow:none;padding:0;backdrop-filter:none}
#hsos-simulation[data-scene="2"] .bank-simulation{display:block;inset:calc(var(--sim-hud-height,260px) + 438px) 6% 164px}
#hsos-simulation[data-scene="2"] .bank-invoice{left:18%;top:42%}
#hsos-simulation[data-scene="2"] .bank-intelligence{left:50%;top:32%}
#hsos-simulation[data-scene="2"] .bank-vault{left:82%;top:42%}
#hsos-simulation .bank-sphere{border-color:#b1c4b433;background:radial-gradient(circle at 30% 25%,#dce5db13,transparent 70%),#111a16;box-shadow:inset 0 0 32px #bdd5c20a}
#hsos-simulation .bank-sphere svg{width:64px;height:64px;fill:none;stroke:#c5d5cd;stroke-width:1.2;min-height:0;opacity:.9}
#hsos-simulation .bank-sphere i:nth-child(2){border-top-color:#b9cfc052}
#hsos-simulation .bank-node-label{font:11px/1.4 inherit;letter-spacing:.025em;text-transform:none;color:#bfd0c4}
#hsos-simulation .bank-account-pair,#hsos-simulation .bank-account-status,#hsos-simulation #bank-account-status,#hsos-simulation .bank-person{display:none}
#hsos-simulation .bank-value{font-size:26px;top:calc(100% + 37px)}
#hsos-simulation .bank-vault small{top:calc(100% + 76px);font-size:12px;line-height:1.5}
#hsos-simulation .digital-envelope{display:none}
#hsos-simulation[data-personal=true] .digital-envelope{display:block}
#hsos-simulation[data-personal=true] .digital-vault{display:none}
#hsos-simulation[data-personal=true] .bank-invoice .bank-object svg{opacity:.5}
#hsos-simulation[data-permitted=true][data-stage="3"] #bank-wire-out{stroke:#b8d0bf;opacity:.85;stroke-dasharray:none}
#hsos-simulation[data-permitted=false][data-stage="3"] #bank-wire-out{stroke:#c9b28d66;opacity:.25;stroke-dasharray:4 8}
#hsos-simulation[data-adverse=true][data-stage="3"] #bank-wire-out{stroke:#c9b28d;opacity:.65}
#hsos-simulation[data-permitted=false][data-stage="3"] .bank-value{color:#decaac}
#hsos-simulation[data-permitted=true][data-stage="3"] .bank-value{color:#c9e2d1}
#hsos-simulation[data-adverse=true][data-stage="3"] .bank-value{color:#dfb88b}
@media(max-width:1000px) and (min-width:761px){#hsos-simulation .sim-toolbar{gap:16px}#hsos-simulation .sim-scenarios{gap:20px;padding:0 16px}#hsos-simulation .sim-command .hsos-lockup{width:112px}}
@media(max-width:760px){
 #hsos-simulation .sim-world{min-height:calc(var(--sim-hud-height,350px) + 840px)}
 #hsos-simulation .sim-header{padding:20px 16px 0}
 #hsos-simulation .sim-toolbar{display:grid;grid-template-columns:1fr auto;gap:18px 12px}
 #hsos-simulation .sim-scenarios{grid-column:1/-1;padding:0 8px;gap:4px;justify-content:space-around;border-radius:12px}
 #hsos-simulation .sim-scenarios button{font-size:11px;flex:1;min-height:46px;padding:12px 3px}
 #hsos-simulation .sim-test-select{padding:16px 0 0}
 #hsos-simulation .sim-case-rail{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
 #hsos-simulation .sim-situation{font-size:12px;min-height:52px;padding:10px 12px;text-align:left;justify-content:flex-start;border-radius:10px}
 #hsos-simulation .sim-scene-title{margin:25px 4px 0}
 #hsos-simulation .sim-scene-title h3{font-size:25px}
 #hsos-simulation .sim-scene-title>span{font-size:9px}
 #hsos-simulation .sim-dialogue{width:270px}
 #hsos-simulation #sim-supervisor-message{font-size:15px;line-height:1.5}
 #hsos-simulation .sim-facts{left:16px;right:16px;bottom:26px;gap:8px}
 #hsos-simulation .sim-facts>div{padding:13px 10px;gap:7px}
 #hsos-simulation .sim-facts strong{font-size:11px;line-height:1.5}
 #hsos-simulation[data-scene="2"] .sim-world{min-height:calc(var(--sim-hud-height,350px) + 955px)}
 #hsos-simulation[data-scene="2"] .agent-conversation{inset:calc(var(--sim-hud-height,350px) + 24px) 20px auto}
 #hsos-simulation[data-scene="2"] .agent-context{gap:10px;grid-template-columns:1fr 1fr}
 #hsos-simulation[data-scene="2"] .agent-context article{padding:17px 13px;min-height:182px}
 #hsos-simulation[data-scene="2"] .agent-context p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
 #hsos-simulation[data-scene="2"] .agent-context span{font-size:9px;letter-spacing:.04em}
 #hsos-simulation[data-scene="2"] .sim-dialogue{top:calc(var(--sim-hud-height,350px) + 244px);width:calc(100% - 40px)}
 #hsos-simulation[data-scene="2"] .bank-simulation{inset:calc(var(--sim-hud-height,350px) + 500px) 16px 162px}
 #hsos-simulation[data-scene="2"] .bank-intelligence{top:19%;left:50%;width:104px;height:104px}
 #hsos-simulation[data-scene="2"] .bank-invoice{top:58%;left:18%;width:100px;height:90px}
 #hsos-simulation[data-scene="2"] .bank-vault{top:58%;left:82%;width:100px;height:90px}
 #hsos-simulation .bank-sphere{width:104px;height:104px}
 #hsos-simulation .bank-sphere svg{width:48px;height:48px}
 #hsos-simulation .bank-object{height:90px}
 #hsos-simulation .bank-object svg{width:74px;height:74px}
 #hsos-simulation .bank-invoice .bank-object svg{width:65px;height:74px}
 #hsos-simulation .bank-node-label{font-size:10px;top:calc(100% + 12px)}
 #hsos-simulation .bank-value{font-size:21px;top:calc(100% + 37px)}
 #hsos-simulation .bank-vault small{font-size:10px;top:calc(100% + 68px);left:-5px;right:-5px}
}
@media(prefers-reduced-motion:reduce){#hsos-simulation .sim-dialogue,#hsos-simulation .sim-situation{transition:none}}

#hsos-simulation #bank-wire-human{display:none}
#hsos-simulation .digital-person-request{display:none}
#hsos-simulation[data-personal=true] .digital-person-request{display:block}
#hsos-simulation[data-personal=true] .digital-invoice{display:none}
@media(max-width:760px){#hsos-simulation .sim-case-rail .sim-situation:last-child:nth-child(odd){grid-column:1/-1}}

/* One mobile layout: content determines height; the scene has its own viewport. */
@media(max-width:760px){
 #hsos-simulation .sim-stage{display:block;min-height:0}
 #hsos-simulation .sim-world,
 #hsos-simulation[data-scene="2"] .sim-world{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"header" "dialogue" "scene" "facts";min-height:0;height:auto;padding:0;gap:0;isolation:isolate}
 #hsos-simulation .sim-header{grid-area:header;position:relative;inset:auto;padding:18px 16px 0;min-width:0}
 #hsos-simulation .sim-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:14px 8px;min-width:0}
 #hsos-simulation .sim-command{padding:0;min-width:0;flex-wrap:nowrap;gap:8px}
 #hsos-simulation .hsos-console-brand{gap:8px;min-width:0}
 #hsos-simulation .sim-command .hsos-lockup{width:100px;max-width:100%}
 #hsos-simulation .sim-scenarios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;padding:0 6px;margin:0;gap:2px;box-sizing:border-box}
 #hsos-simulation .sim-scenarios button{white-space:normal;min-width:0;min-height:46px;line-height:1.3;padding:10px 2px;font-size:11px;align-items:center;justify-content:center}
 #hsos-simulation .sim-case-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #hsos-simulation .sim-situation{min-width:0;overflow-wrap:break-word;padding:10px;font-size:12px}
 #hsos-simulation .sim-scene-title{position:relative;inset:auto;margin:22px 0 0;padding:0 2px 18px}
 #hsos-simulation .sim-scene-title h3{font-size:24px;line-height:1.2;margin-top:8px}
 #hsos-simulation .sim-dialogue,
 #hsos-simulation[data-scene="2"] .sim-dialogue{grid-area:dialogue;position:relative;inset:auto;width:auto;max-width:none;min-width:0;margin:0 16px;transform:none!important;will-change:auto;padding:0;z-index:4}
 #hsos-simulation .sim-dialogue-leader{display:none}
 #hsos-simulation .sim-supervisor{padding:14px 16px;margin-bottom:0}
 #hsos-simulation .sim-supervisor-heading{justify-content:space-between;gap:10px}
 #hsos-simulation #sim-supervisor-message{font-size:14px;line-height:1.5;margin-top:10px}
 #hsos-simulation #sim-speaker{font-size:9px;margin-top:10px;padding:10px 16px 0}
 #hsos-simulation #sim-message{font-size:14px;line-height:1.5;padding:7px 16px 13px}
 #hsos-simulation #sim-world,
 #hsos-simulation #sim-world-3d{grid-area:scene;position:relative;inset:auto;display:block;width:100%;height:420px;min-height:0;max-width:100%;pointer-events:none;margin:0}
 #hsos-simulation .sim-facts{grid-area:facts;position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 16px 18px;padding:0;border:0;background:none;min-width:0}
 #hsos-simulation .sim-facts>div{border:1px solid #bbd0c02b;min-width:0;padding:12px 9px;gap:7px;border-radius:10px}
 #hsos-simulation .sim-facts span{font-size:8px;letter-spacing:.02em;overflow-wrap:break-word}
 #hsos-simulation .sim-facts strong{font-size:11px;line-height:1.5;overflow-wrap:break-word}
 #hsos-simulation[data-scene="2"] .sim-world{grid-template-areas:"header" "people" "dialogue" "bank" "facts"}
 #hsos-simulation[data-scene="2"] #sim-world,
 #hsos-simulation[data-scene="2"] #sim-world-3d{display:none}
 #hsos-simulation[data-scene="2"] .agent-conversation{grid-area:people;position:relative;inset:auto;margin:0 16px 14px;padding:0;display:block;min-width:0}
 #hsos-simulation[data-scene="2"] .agent-context{grid-template-columns:minmax(0,1fr);gap:10px}
 #hsos-simulation[data-scene="2"] .agent-context article{min-height:0;padding:14px 16px}
 #hsos-simulation[data-scene="2"] .agent-context p{font-size:14px;line-height:1.5;margin-top:7px;overflow-wrap:break-word}
 #hsos-simulation[data-scene="2"] .agent-context .agent-buyer{margin-left:22px}
 #hsos-simulation[data-scene="2"] .agent-context .agent-owner{margin-right:22px}
 #hsos-simulation[data-scene="2"] .bank-simulation{grid-area:bank;position:relative;inset:auto;height:400px;min-height:0;margin:0 16px;padding:0;display:block}
 #hsos-simulation[data-scene="2"] .bank-intelligence{top:19%;width:94px;height:94px}
 #hsos-simulation .bank-sphere{width:94px;height:94px}
 #hsos-simulation[data-scene="2"] .bank-invoice,
 #hsos-simulation[data-scene="2"] .bank-vault{top:58%;width:84px;height:82px}
 #hsos-simulation .bank-node-label{font-size:10px;top:calc(100% + 8px)}
 #hsos-simulation .bank-value{font-size:20px;top:calc(100% + 28px)}
 #hsos-simulation .bank-vault small{font-size:10px;top:calc(100% + 55px);left:-8px;right:-8px}
}

@media(max-width:360px){
 #hsos-simulation .sim-scenarios{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;gap:4px;border-radius:14px}
 #hsos-simulation .sim-scenarios button{white-space:nowrap;font-size:12px;padding:10px 6px;border-radius:10px}
}

/* Keep the scene and its intervention together on laptop displays. */
@media(min-width:761px){
 #hsos-simulation .sim-world{min-height:760px}
 #hsos-simulation .sim-header{padding:20px 26px 0}
 #hsos-simulation .sim-test-select{padding-top:16px}
 #hsos-simulation .sim-situation{min-height:42px;padding:10px 14px;font-size:12px}
 #hsos-simulation .sim-scene-title{margin-top:20px}
 #hsos-simulation .sim-scene-title h3{font-size:26px}
 #hsos-simulation .sim-facts{left:26px;right:26px;bottom:20px}
 #hsos-simulation .sim-facts>div{padding:11px 15px}
 #hsos-simulation .sim-dialogue{width:290px}
 #hsos-simulation #sim-supervisor-message{font-size:15px}
 #hsos-simulation[data-scene="2"] .sim-world{min-height:calc(var(--sim-hud-height,230px) + 640px)}
 #hsos-simulation[data-scene="2"] .agent-conversation{inset:calc(var(--sim-hud-height,230px) + 20px) 6% auto}
 #hsos-simulation[data-scene="2"] .agent-context article{padding:16px 20px;min-height:110px}
 #hsos-simulation[data-scene="2"] .agent-context p{font-size:15px;line-height:1.5}
 #hsos-simulation[data-scene="2"] .sim-dialogue{top:calc(var(--sim-hud-height,230px) + 152px);width:350px}
 #hsos-simulation[data-scene="2"] .bank-simulation{inset:calc(var(--sim-hud-height,230px) + 354px) 6% 132px}
 #hsos-simulation .bank-sphere{width:112px;height:112px}
 #hsos-simulation .bank-object svg{width:90px;height:90px}
}
#hsos-simulation{scroll-margin-top:104px}

/* Center the situation choices beneath the integrated toolbar. */
@media(min-width:761px){
 #hsos-simulation .sim-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
 #hsos-simulation .sim-playback{justify-self:end}
 #hsos-simulation .sim-case-rail{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:900px;margin:0 auto}
 #hsos-simulation .sim-situation{flex:0 1 auto;min-width:150px;max-width:260px;padding:10px 18px}
 #hsos-simulation .sim-scene-title{margin-top:24px}
}
