/* V9: ground-first premium logistics simulation; V8 Tower + Customer remain unchanged. */
:root{--teal:#087f74;--chrome:70px}html,body{background:#e5eff1}

.ground-title{top:78px;left:2vw;z-index:5;background:linear-gradient(90deg,#ffffffd6,transparent);border-radius:15px;padding:10px 16px 12px 10px}
.ground-title h1{font-size:clamp(21px,1.85vw,30px);max-width:320px}
.ground-title p{max-width:330px;font-size:11px}
.worlds{background:#d4e2e6}
.world{background:linear-gradient(#c1d5dc,#dae6e8)}
.world canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.world canvas.scene-weather{pointer-events:none;opacity:.9;z-index:1}
.worldlabel{z-index:2;top:15px;left:17px;background:#fffffff3}
.worldfooter{z-index:2;bottom:12px;left:14px;font-size:10px;border:1px solid #e1eceb}
.view-switch{top:14px;left:50%;transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:3px;padding:5px;border:1px solid #d7e6e7;background:#ffffffef;box-shadow:0 10px 28px #22545b1b;border-radius:12px}
.view-switch button{border:0;border-radius:8px;background:transparent;color:#557579;font-size:11px;font-weight:800;padding:8px 11px;white-space:nowrap}
.view-switch button.selected{color:#047f74;background:#e1f3ed;box-shadow:inset 0 0 0 1px #bae5d9}
.view-switch button:hover{background:#eaf4f1}
.view-divider{height:18px;width:1px;background:#dce7e8;margin:0 3px}
.situation{top:254px;left:2.4vw;background:#ffffffed;width:270px}
.decision-float{top:73px;background:#ffffffed;right:2.2vw;max-width:318px}
.live-telemetry{bottom:84px;left:2.2vw;width:278px;background:#fffef3eE;border:1px solid #d2e7e4;box-shadow:0 10px 34px #24484f26;border-radius:16px;padding:13px 14px;z-index:6;backdrop-filter:blur(15px);pointer-events:none}
.t-title{display:flex;justify-content:space-between;align-items:center;gap:4px}.t-title>b{font-size:9px;letter-spacing:1.1px;color:#558484}
.sim-heartbeat{font-size:9px;color:#8e9d9c;font-weight:900}.sim-heartbeat.on{color:#079780;animation:blinkv9 .5s infinite alternate}@keyframes blinkv9{to{opacity:.35}}
.tele-numbers{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:5px;margin-top:12px}
.tele-numbers strong{display:block;font:800 20px Manrope,'Segoe UI',sans-serif;letter-spacing:-1px;color:#075f5a}.tele-numbers small{display:block;font-size:9px;color:#668385}
.tele-bar{height:7px;border-radius:20px;background:#e0e9e7;overflow:hidden;margin:11px 0 6px}.tele-bar span{display:block;width:0;height:100%;background:linear-gradient(90deg,#35cba7,#068274);border-radius:20px;transition:width .6s}
.live-telemetry p{font-size:9px;color:#6b8687;margin:4px 0}
.tele-tickers{display:flex;gap:12px;margin-top:10px;border-top:1px solid #e2ebeb;padding-top:9px;white-space:nowrap;color:#64848a;font-size:10px}.tele-tickers b{color:#135e5b}
.event-live{z-index:6;position:absolute;bottom:85px;right:2vw;width:min(310px,24vw);display:flex;flex-direction:column;gap:7px;pointer-events:none;max-height:180px;overflow:hidden}
.v9-event-animation{animation:eventIn .36s cubic-bezier(.16,1,.3,1);transition:opacity .8s,transform .8s}.v9-event-animation.aging{opacity:.68}
.v9-toast-item{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid #d7e8e7;border-radius:11px;background:#ffffffee;backdrop-filter:blur(10px);box-shadow:0 6px 22px #244f601f;color:#28525a}
.v9-toast-item.warn{border-color:#eccfa8;background:#fff9e9f5}.v9-event-dot{height:7px;width:7px;flex-shrink:0;margin-top:4px;border-radius:50%;background:#09b795}.v9-toast-item.warn .v9-event-dot{background:#df9d30}
.v9-toast-item div{flex:1;min-width:0}.v9-toast-item strong{display:block;font-size:11px}.v9-toast-item small{display:block;font-size:10px;line-height:1.4;color:#617e83;margin-top:3px;max-height:31px;overflow:hidden}
.v9-event-tick{font-size:9px;color:#799698}.tick-flash{animation:tickPulse .45s ease}@keyframes eventIn{from{transform:translateX(80px) scale(.95);opacity:0}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes tickPulse{50%{box-shadow:0 0 0 9px #34cbaa45}}
.scenario-control{border:1px solid #e0ece8;border-radius:11px;background:#f6faf9;padding:10px;margin:7px 0}
.settings-pop .scenario-control label.scenario-label{display:block;margin:0 0 5px;color:#345f61;font-size:11px}
.scenario-control select{width:100%;background:white;border:1px solid #d8e6e5;border-radius:8px;padding:9px;color:#325960;font-size:11px;font-weight:700}
.scenario-control small{color:#849a9d;font-size:9px;line-height:1.5;display:block;margin-top:6px}
.scenario-quick{display:flex;gap:5px;margin:8px 0}.scenario-quick button{flex:1;font-size:10px;font-weight:800;padding:7px 4px;border:1px solid #d4e4e2;border-radius:8px;background:white;color:#247168}.scenario-quick button:hover{background:#eaf7f3}
.settings-pop{max-height:min(72vh,655px);bottom:75px;left:calc(50% - 295px);width:315px}
.settings-pop label{margin-bottom:6px}
@media(max-width:1250px){.ground-title h1{font-size:22px}.ground-title{top:58px}.situation{top:221px;width:228px}.decision-float{max-width:275px}.live-telemetry{bottom:84px;width:235px}.event-live{width:250px}}
@media(max-height:790px) and (min-width:761px){.ground-title{top:54px}.ground-title p{display:none}.situation{top:165px;padding:11px}.situation .situ-grid{margin-top:5px}.decision-float{top:63px;padding:11px}.decision-float h2{margin:8px 0}.decision-float p{min-height:0}.live-telemetry{bottom:76px;padding:9px}.event-live{bottom:76px}}
@media(max-width:760px){.view-switch{top:5px;gap:0;padding:3px;max-width:88vw}.view-switch button{font-size:9px;padding:7px 5px}.ground-title{top:43px;padding:4px 5px;left:8px}.ground-title h1{font-size:17px;max-width:175px}.ground-title p{display:none}.situation{top:125px;bottom:auto;left:8px;width:170px;padding:9px}.situation .current-event{display:none}.decision-float{top:48px;right:7px;width:182px;padding:9px}.decision-float h2{font-size:13px;margin:5px 0}.decision-float p{font-size:10px;min-height:0;max-height:37px;overflow:hidden}.decision-float .compare-quick{padding:6px;gap:2px;margin:5px 0}.compare-quick b{font-size:11px}.card-actions .btn{padding:7px;font-size:9px}.live-telemetry{bottom:63px;left:6px;width:172px;padding:7px}.tele-numbers{margin-top:4px}.tele-numbers strong{font-size:14px}.tele-numbers small{font-size:8px}.t-title>b{font-size:7px}.tele-tickers{display:none}.live-telemetry p{display:none}.tele-bar{margin:5px 0}.event-live{bottom:66px;right:5px;width:174px}.v9-toast-item{padding:6px}.v9-toast-item strong{font-size:9px}.v9-toast-item small{font-size:8px}.settings-pop{left:6px;bottom:67px;max-height:65vh;width:min(310px,94vw)}}

.event-stream-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.event-stream-row {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}
.event-stream-row b { font-size: 12px; }
.event-stream-row p { margin: 0 0 4px; overflow-wrap: anywhere; }
.drawer-content .event-stream-row small { color: #526f75; }
.event-stream-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #eef2f3;
  color: #405a64;
  font: 700 16px/1 system-ui, sans-serif;
}
.event-stream-icon[data-tone="blue"] { background: #e6f1fc; color: #24588b; }
.event-stream-icon[data-tone="green"] { background: #e1f4eb; color: #17674c; }
.event-stream-icon[data-tone="purple"] { background: #eee8fa; color: #63449a; }
.event-stream-icon[data-tone="amber"] { background: #fff1d9; color: #805308; }
.event-stream-icon[data-tone="red"] { background: #fde9e6; color: #a03731; }
