/* A single payment scene, paced by the shared simulation clock. */
.hsos-simulation[data-scene="2"] .sim-stage{display:block;min-height:0}
.hsos-simulation[data-scene="2"] .sim-world{min-height:740px;background:radial-gradient(ellipse at 50% 53%,#24392c29,transparent 60%),#080c0a}
.hsos-simulation[data-scene="2"] .sim-dialogue{top:116px;left:50%;transform:translateX(-50%)!important;width:380px;text-align:center;background:#111813ef}
.hsos-simulation[data-scene="2"] .sim-dialogue-leader{display:none}
.hsos-simulation[data-scene="2"] .bank-simulation{display:block;position:absolute;inset:250px 5% 30px;gap:0}
.bank-network{position:relative;width:100%;height:100%;--bank-sage:#b8d0bf;--bank-amber:#c9b28d}
.sim-world .bank-links{position:absolute;inset:0;width:100%;height:100%;min-height:0;overflow:visible;fill:none}
.bank-links path{stroke:#9bb5a638;stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .8s,opacity .8s}
.bank-links circle{fill:#c9ddce;filter:drop-shadow(0 0 4px #c9ddce66)}
#bank-wire-out{stroke-dasharray:4 8;opacity:.4}#bank-wire-human{opacity:.15}
.hsos-simulation[data-stage="1"] #bank-wire-in{stroke:#c9b28d99}
.hsos-simulation[data-stage="2"] #bank-wire-out,.hsos-simulation[data-stage="3"] #bank-wire-out{stroke:var(--bank-amber);opacity:.6}
.hsos-simulation[data-stage="2"] #bank-wire-human,.hsos-simulation[data-stage="3"] #bank-wire-human{opacity:1;stroke:#b8d0bf88}
.bank-node{position:absolute;transform:translate(-50%,-50%);width:170px;height:120px;text-align:center;color:#aebeb4}
.bank-invoice{left:18%;top:42%}.bank-intelligence{left:50%;top:32%;width:150px;height:150px}.bank-vault{left:82%;top:42%}.bank-person{left:50%;top:82%;height:48px;width:170px;opacity:.18;transition:opacity .8s}
.bank-object{height:120px;display:grid;place-items:center}.sim-world .bank-object svg{width:110px;height:110px;min-height:0;fill:none;stroke:#aabdb180;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;transition:stroke .8s}
.bank-invoice .bank-object svg{width:90px;height:100px}
.bank-node-label{position:absolute;top:calc(100% + 12px);left:0;width:100%;font:10px/1.4 monospace;letter-spacing:.09em;text-transform:uppercase;color:#99afa0}
.bank-account-pair{position:absolute;top:calc(100% + 38px);left:0;right:0;display:flex;justify-content:center;gap:20px;font:15px/1.4 monospace;font-variant-numeric:tabular-nums}.bank-account-pair>span:first-child{color:#6e8175}.bank-account-change{color:#bdcdc2;transition:color .8s}.bank-account-change::before{content:'';position:absolute;left:50%;top:6px;height:10px;border-left:1px solid #a7bbad33}
.bank-node small{position:absolute;top:calc(100% + 69px);left:-10px;right:-10px;font-size:12px;color:#8a9f91;line-height:1.5;transition:color .8s}
.bank-sphere{position:relative;display:grid;place-items:center;width:150px;height:150px;border:1px solid #aecab536;border-radius:50%;background:radial-gradient(circle at 30% 24%,#a8cdb01b,transparent 60%),#0b130ef2;box-shadow:inset 0 0 22px #b9d4c009,0 0 70px #b9d4c008;transition:box-shadow 1s,border-color 1s}
.bank-sphere img{width:54px;height:54px;opacity:.85}.bank-sphere i{position:absolute;inset:10px;border:1px solid #b1c8ba1c;border-radius:50%}.bank-sphere i:nth-child(2){inset:-8px;border-color:transparent;border-top-color:#aac8b780;transform:rotate(var(--bank-turn,0deg))}
.bank-value{position:absolute;top:calc(100% + 35px);left:-15px;right:-15px;font-size:31px;font-weight:400;letter-spacing:-.04em;color:#d8e4dc;font-variant-numeric:tabular-nums}
.bank-vault small{top:calc(100% + 78px)}.sim-world .bank-person svg{display:block;width:48px;height:48px;margin:auto;min-height:0;fill:none;stroke:#afc8b7;stroke-width:1.2}.bank-person>span{position:absolute;top:calc(100% + 8px);left:0;right:0;font-size:11px;color:#9eb6a6}.bank-person-check{opacity:0;transition:opacity .8s}.vault-lock{fill:#101a14;stroke:#a9c2b1;opacity:.55;transition:opacity .8s}
.hsos-simulation:not([data-stage="0"]) .bank-account-change{color:var(--bank-amber)}
.hsos-simulation[data-stage="1"] .bank-sphere{border-color:#b5cbb572;box-shadow:inset 0 0 30px #bdd5c20a,0 0 80px #bdd5c213}
.hsos-simulation[data-stage="2"] .bank-person,.hsos-simulation[data-stage="3"] .bank-person{opacity:1}
.hsos-simulation[data-stage="2"] .vault-lock,.hsos-simulation[data-stage="3"] .vault-lock,.hsos-simulation[data-stage="3"] .bank-person-check{opacity:1}
.hsos-simulation[data-stage="2"] .bank-vault small{color:var(--bank-amber)}
.hsos-simulation[data-stage="3"] .bank-vault small{color:var(--bank-sage)}
@media(max-width:760px){
 .hsos-simulation[data-scene="2"] .sim-world{min-height:730px}
 .hsos-simulation[data-scene="2"] .sim-dialogue{top:118px;width:calc(100% - 40px);max-width:360px}
 .hsos-simulation[data-scene="2"] .bank-simulation{inset:258px 16px 30px}
 .bank-node{width:100px;height:84px}.bank-invoice{left:18%;top:58%}.bank-vault{left:82%;top:58%}.bank-intelligence{left:50%;top:19%;width:112px;height:112px}.bank-person{top:82%;height:38px;width:140px}
 .bank-object{height:84px}.sim-world .bank-object svg{width:80px;height:80px}.bank-invoice .bank-object svg{width:68px;height:80px}.bank-sphere{width:112px;height:112px}.bank-sphere img{width:44px;height:44px}
 .bank-node-label{top:calc(100% + 8px);font-size:9px;letter-spacing:.03em}.bank-account-pair{top:calc(100% + 29px);font-size:12px;gap:14px}.bank-account-change::before{top:3px}.bank-value{top:calc(100% + 26px);font-size:23px}.bank-node small{top:calc(100% + 54px);font-size:10px;left:-7px;right:-7px}.bank-vault small{top:calc(100% + 57px)}.sim-world .bank-person svg{width:38px;height:38px}.bank-person>span{font-size:10px}
}
@media(max-width:360px){.bank-node{width:82px}.bank-intelligence{width:104px;height:104px}.bank-sphere{width:104px;height:104px}.bank-person{width:130px}.bank-value{font-size:20px}.bank-account-pair{font-size:11px;gap:12px}.bank-node small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.bank-network *{transition:none!important}}

.bank-account-pair em{display:block;font:9px/1.4 monospace;color:#8fa296;margin-bottom:5px;font-style:normal}.bank-invoice small{top:calc(100% + 87px)}
@media(max-width:760px){.bank-account-pair em{font-size:8px;margin-bottom:4px}.bank-invoice small{top:calc(100% + 73px)}}

@media(min-width:1600px){.hsos-simulation[data-scene="2"] .sim-world{min-height:780px}}
