:root{font:13px/1.55 system-ui,"Microsoft YaHei",sans-serif;color:#263c35;background:#cad4d7}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block}button,input,select{font:inherit}button,select,input[type=number]{border:1px solid #c1cac5;border-radius:5px;background:#fffdf7;color:inherit;padding:7px 9px;min-width:0}button{cursor:pointer}button:hover{background:#e9f0e7}.primary{background:#315f4b;color:white;border-color:#315f4b}a{color:#315f4b;text-decoration:none}a:hover{text-decoration:underline}header{position:fixed;top:12px;left:14px;right:14px;display:flex;gap:22px;align-items:center;padding:9px 14px;background:#fbfcf5f5;border-radius:7px;z-index:4;box-shadow:0 4px 20px #193b2720}header strong{font-size:17px;margin-right:12px}header span{color:#6c7c73}header nav{display:flex;gap:18px;margin-left:auto}#panel-toggle{font-size:12px}#metrics{position:fixed;top:77px;left:14px;right:14px;display:grid;grid-template-columns:repeat(6,1fr);background:#fbfcf5ee;border-radius:7px;padding:8px 12px;z-index:3;gap:10px}#metrics small{display:block;font-size:10px;color:#6b7b73}#metrics b{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}#controls{position:fixed;left:14px;top:150px;bottom:65px;width:285px;background:#fbfcf5f5;border-radius:7px;padding:15px;overflow:auto;z-index:3;scrollbar-width:thin}#controls[hidden]{display:none}section+section{border-top:1px solid #d7dfd6;padding-top:12px;margin-top:12px}h2{font-size:13px;margin:0 0 8px}label{display:block;margin:9px 0 6px;font-size:12px}label select,label input[type=number]{display:block;width:100%;margin-top:4px}input[type=range]{display:block;width:100%;accent-color:#416c54;margin:6px 0}output{float:right;font-weight:600}.run,.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.run{grid-template-columns:1fr 1fr 1fr}.two label{margin-top:4px}.check{display:flex;align-items:center;justify-content:space-between}.check input{accent-color:#416c54}#reset,#evacuate{width:100%;margin-top:8px}#evacuate{color:#8e4e2b;background:#fbf1e5}p{font-size:11px;color:#738278;line-height:1.7;margin:8px 0}#event-state{color:#466d53}#views{position:fixed;top:150px;right:14px;display:flex;gap:15px;background:#fbfcf5e9;padding:8px 12px;border-radius:5px;z-index:2;font-size:11px}#timeline{position:fixed;right:14px;bottom:65px;width:235px;max-height:160px;overflow:hidden;background:#fbfcf5e9;border-radius:6px;padding:11px 13px;z-index:2}#timeline h2{font-size:11px;color:#6c7c73}#event-log{list-style:none;margin:0;padding:0;font-size:10px;line-height:1.8;color:#5b7163}footer{position:fixed;bottom:14px;left:14px;right:14px;background:#fbfcf5ed;border-radius:5px;padding:8px 12px;display:flex;gap:25px;align-items:center;z-index:3;font-size:10px;color:#617569}footer span:last-child{margin-left:auto}footer i{display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 4px 0 8px}i.customer{background:#247bb3}i.trader{background:#be9d51}i.queue{background:#d48735}#loading{position:fixed;inset:0;display:grid;place-content:center;text-align:center;background:#eeeee5;z-index:10}#loading h1{font-size:28px;margin:0 0 8px}#loading progress{width:290px;margin:8px auto}#loading p{font-size:13px}#error{color:#a23b32}#qa-status{position:fixed;top:155px;right:14px;background:#fffe;padding:12px;z-index:20;font:11px monospace;max-width:50vw;white-space:pre-wrap}@media(max-width:800px){header{gap:8px}header span{display:none}header nav{gap:10px;font-size:11px}header strong{font-size:14px}#metrics{grid-template-columns:repeat(3,1fr);top:72px}#metrics b{font-size:16px}#controls{top:190px;width:255px}#views{top:190px}#timeline{display:none}footer span:last-child{display:none}}@media(max-width:480px){header nav a:first-child{display:none}#controls{width:calc(100vw - 28px);background:#fbfcf5f5}#views{display:none}}
#loading[hidden]{display:none}
.panel-hidden #controls{display:none}#person-info{white-space:pre-line}
.primary:hover{background:#44775b;color:white}

#last-export{margin-top:10px;font-size:11px}#export-data{width:100%;margin-top:8px;font:10px monospace;color:#315442;background:#fffef8;border:1px solid #c1cac5;resize:vertical}#export-download{display:block;margin-top:5px}

#controls{width:330px}#controls .tabs{position:sticky;top:-15px;z-index:5;background:#f6f8ef;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:-5px -5px 12px;padding:8px 0}.tabs button{padding:7px 2px;font-size:11px}.tabs button.active{background:#315f4b;color:#fff}.tab-pane[hidden]{display:none}details{border-top:1px solid #d5ddcf;margin-top:12px;padding-top:9px}summary{cursor:pointer;font-weight:600;font-size:12px}textarea{width:100%;font:11px/1.5 monospace;border:1px solid #c1cac5;padding:7px;background:#fffef8;color:#27453b;border-radius:4px}label input[type=text],label input[type=file]{display:block;width:100%;margin-top:4px}#extended-metrics{position:fixed;left:365px;top:150px;right:14px;display:flex;gap:12px;flex-wrap:wrap;z-index:3;pointer-events:none}#extended-metrics span{background:#f5f8edef;padding:5px 8px;border-radius:4px;font-size:11px}#experiment-status{color:#9b532f;font-weight:600}.result{background:#e5ecdf;padding:9px;border-radius:5px;white-space:pre-wrap;font-size:11px;overflow:auto;max-height:270px}#toast{position:fixed;left:50%;bottom:60px;transform:translateX(-50%);z-index:22;background:#243f34ed;color:#fff;padding:10px 18px;border-radius:5px;max-width:70vw;font-size:12px}#toast[hidden]{display:none}.panel-hidden #extended-metrics{left:14px}#replay-bar{position:fixed;left:365px;right:265px;bottom:62px;z-index:4;background:#f7f8eeed;padding:7px 12px;border-radius:6px;display:flex;gap:8px;align-items:center;font-size:10px}#replay-time{flex:1}.panel-hidden #replay-bar{left:14px}#role-banner{position:fixed;left:365px;top:195px;z-index:4;background:#e8efe3ee;padding:8px 12px;border-radius:5px;font-size:11px}#role-banner:empty{display:none}.feature-note{font-size:10px;color:#7f7158}.mini{font-size:10px}#report-panel{position:fixed;inset:155px 25px 65px 375px;z-index:8;background:#f9faf3f5;border:1px solid #9eae98;border-radius:8px;padding:18px;overflow:auto;box-shadow:0 5px 25px #0003}#report-panel[hidden]{display:none}#report-panel button.close{float:right}table{border-collapse:collapse;width:100%;font-size:11px;margin:10px 0}th,td{padding:6px;border-bottom:1px solid #cdd7c5;text-align:left}pre{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:900px){#controls{width:290px}#extended-metrics{left:320px}#replay-bar{left:320px;right:14px}#role-banner{left:320px}#report-panel{left:20px}#timeline{display:none}}
