body{background:#f1f5fa}.sim-shell{max-width:1580px;margin:auto;padding:0 30px 30px}.sim-header{display:flex;align-items:center;justify-content:space-between;height:88px;border-bottom:1px solid var(--line)}.sim-header>div:last-child{display:flex;align-items:center;gap:10px}.sim-grid{display:grid;grid-template-columns:370px minmax(0,1fr);gap:22px;margin-top:24px}.sim-control{overflow:hidden}.sim-hero{padding:28px;background:var(--dark);color:#fff}.sim-hero .environment-tag{border-color:#3c5072;background:#243654;color:#b7c9e2}.sim-hero h1{margin:28px 0 16px;font-size:29px;line-height:1.4;letter-spacing:-.5px}.sim-hero p{margin:0;color:#b8c6dc;font-size:11px;line-height:1.8}.scenario-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px;border-bottom:1px solid var(--line)}.scenario-form .select{width:100%}.reset-check{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.reset-check input{accent-color:var(--accent)}.start-button{grid-column:1/-1;min-height:48px}.test-checklist{padding:14px 24px}.test-checklist>div{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf1f6}.test-checklist>div:last-child{border:0}.test-checklist i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf0f7;color:#7287a4;font-style:normal;font-size:10px}.test-checklist span{flex:1}.test-checklist b{display:block;font-size:11px}.test-checklist small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.test-checklist strong{color:#91a1b5;font-size:9px}.test-checklist>div.running i{background:var(--accent);color:#fff}.test-checklist>div.running strong{color:var(--accent)}.test-checklist>div.passed i{background:var(--green);color:#fff}.test-checklist>div.passed strong{color:#258560}.test-checklist>div.failed i{background:var(--red);color:#fff}.sim-note{margin:0 24px 24px;padding:12px;border-radius:9px;background:#eef3fa;color:#8193ac;font-size:9px;line-height:1.6}.live-order{overflow:hidden}.live-order-body{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;padding:20px 24px}.live-order-body>div:not(.live-progress-track) span{display:block;color:var(--muted);font-size:9px}.live-order-body>div:not(.live-progress-track) b{display:block;margin-top:7px;font-size:13px}.live-progress-track{grid-column:1/-1;height:5px;overflow:hidden;border-radius:5px;background:#e6edf5}.live-progress-track i{display:block;width:0;height:100%;border-radius:5px;background:var(--accent);transition:width .3s}.sim-live .map-layout{grid-template-columns:minmax(0,1fr) 290px;padding:0 24px 24px}.sim-live .map-shell{min-height:520px}.sim-log-panel{display:flex;flex-direction:column;min-height:520px;padding:16px;border-radius:13px;background:#1b2942;color:#e1e9f5}.sim-log-panel>span{padding-bottom:12px;border-bottom:1px solid #354762;color:#9fb1ca;font-size:10px;font-weight:700;letter-spacing:1px}.sim-log{flex:1;max-height:475px;overflow:auto}.sim-log p{margin:0;padding:10px 0;border-bottom:1px solid #30425f;color:#cbd8ea;font-family:ui-monospace,SFMono-Regular,monospace;font-size:9px;line-height:1.5}.sim-log time{margin-right:8px;color:#8da6c7}.sim-log p.error{color:#ff9ba5}.sim-result{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:18px 22px;border:1px solid #bde5d2;border-radius:13px;background:#e5f6ed;color:#277857}.sim-result.failed{border-color:#f0c2c7;background:#ffeaec;color:#bd424f}.sim-result b{display:block;font-size:14px}.sim-result span{display:block;margin-top:6px;font-size:10px}@media(max-width:1100px){.sim-grid{grid-template-columns:1fr}.sim-control{display:grid;grid-template-columns:1fr 1fr}.sim-hero{grid-row:span 2}.sim-note{display:none}.sim-live .map-layout{grid-template-columns:1fr}.sim-log-panel{min-height:250px}.sim-log{max-height:220px}}@media(max-width:700px){.sim-shell{padding:0 14px 20px}.sim-header .live-badge{display:none}.sim-header>div:last-child .button:first-of-type{display:none}.sim-control{display:block}.sim-live .map-layout{padding:0 14px 14px}.sim-live .map-shell{min-height:390px}.live-order-body{grid-template-columns:1fr 1fr}.live-order-body>div:nth-child(3){display:none}}
.sim-live{min-width:0}.world-panel{overflow:hidden;border-color:#20364b;background:#101f30;color:#e7f0f7}.world-head{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 16px;gap:12px;background:#15283d}.world-head>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.world-head b{font-size:14px}.world-head #robot-state{color:#9eb5c9;font-size:10px}.world-kicker{color:#69d5ff;font-size:9px;font-weight:800;letter-spacing:1.4px}.camera-controls{display:flex;gap:5px}.camera-controls button{min-height:29px;padding:0 10px;border:1px solid #38516a;border-radius:7px;background:#1c344d;color:#bcd0df;font-size:10px}.camera-controls button.active{border-color:#4bb8ef;background:#24638a;color:#fff}.scene-main{position:relative;height:min(66vh,650px);min-height:520px;overflow:hidden;background:#b8d5e5}.scene-main>canvas{position:absolute;inset:0;display:block}.scene-hint{position:absolute;z-index:3;top:14px;left:14px;padding:7px 10px;border-radius:7px;background:#14273bba;color:#c0d3e1;font-size:9px;pointer-events:none}.battery-widget{position:absolute;z-index:3;top:58px;left:14px;width:142px;padding:11px 12px;border:1px solid #ffffff24;border-radius:10px;background:#14273bd9;box-shadow:0 8px 24px #14273b24}.battery-widget>span{color:#a9bfd0;font-size:9px}.battery-widget>b{float:right;color:#81efbf;font-size:15px}.battery-track{clear:both;height:5px;margin-top:9px;overflow:hidden;border-radius:5px;background:#3c5366}.battery-track i{display:block;width:96%;height:100%;border-radius:5px;background:#61d9a5;transition:width .3s}.battery-track i.low{background:#ef727b}.mini-map-wrap{position:absolute;z-index:3;left:14px;bottom:94px;width:205px;height:148px;overflow:hidden;border:1px solid #ffffff2b;border-radius:11px;background:#152b35e8;box-shadow:0 8px 28px #14273b38}.mini-map-wrap canvas{display:block;width:100%;height:100%}.panel-label{position:absolute;z-index:2;top:8px;left:9px;padding:3px 6px;border-radius:4px;background:#122438c9;color:#c0d4df;font-size:9px;pointer-events:none}.fpv-wrap{position:absolute;z-index:3;top:58px;right:14px;width:300px;height:190px;overflow:hidden;border:1px solid #ffffff35;border-radius:11px;background:#172c3f;box-shadow:0 8px 28px #14273b38;pointer-events:none}#scene-fpv{position:absolute;inset:0}#scene-fpv canvas{display:block}.fpv-crosshair{position:absolute;left:50%;top:50%;width:14px;height:14px;border:1px solid #ffffffaa;border-radius:50%;transform:translate(-50%,-50%)}.fpv-crosshair:before,.fpv-crosshair:after{content:"";position:absolute;background:#ffffffaa}.fpv-crosshair:before{left:6px;top:-5px;width:1px;height:22px}.fpv-crosshair:after{left:-5px;top:6px;width:22px;height:1px}.telemetry-strip{position:absolute;z-index:3;left:14px;right:14px;bottom:14px;display:grid;grid-template-columns:1.1fr 1.1fr .8fr 1fr;gap:12px;padding:12px 14px;border:1px solid #ffffff24;border-radius:10px;background:#14273bdf;backdrop-filter:blur(8px)}.telemetry-strip span{display:block;color:#8faabd;font-size:8px}.telemetry-strip b{display:block;margin-top:4px;color:#ecf5fa;font-size:10px;font-weight:600}.world-order-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.4fr;gap:16px;padding:15px 18px;background:#15283d}.world-order-strip>div>span{display:block;color:#8faabd;font-size:8px}.world-order-strip>div>b{display:inline-block;margin-top:5px;font-size:11px}.world-progress{position:relative}.world-progress>b{float:right}.world-progress .live-progress-track{clear:both;margin-top:8px;background:#344a60}.world-progress .live-progress-track i{background:#53c5f2}.sim-bottom{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;margin-top:16px}.sim-bottom .sim-log-panel{min-height:138px;height:138px}.sim-bottom .sim-log{max-height:98px}.sim-bottom .sim-result{margin-top:0;align-self:start}.webgl-error{position:absolute;z-index:10;inset:30% 15%;padding:24px;border-radius:12px;background:#2a3544;color:#ffd8dc;text-align:center;font-size:13px}.webgl-error[hidden]{display:none}
@media(max-width:1000px){.scene-main{height:620px}.fpv-wrap{width:240px;height:160px}.mini-map-wrap{width:180px;height:135px}}
@media(max-width:700px){.world-head{align-items:flex-start;flex-direction:column}.camera-controls{width:100%;overflow:auto}.scene-main{height:640px;min-height:560px}.scene-hint{right:14px;font-size:8px}.battery-widget{top:58px;width:118px}.fpv-wrap{top:58px;width:145px;height:112px}.mini-map-wrap{bottom:126px;width:128px;height:108px}.telemetry-strip{bottom:14px;grid-template-columns:1fr 1fr;gap:9px 12px;padding:10px 12px}.telemetry-strip b{font-size:9px}.world-order-strip{grid-template-columns:1fr 1fr;gap:12px}.sim-bottom{grid-template-columns:1fr}.sim-bottom .sim-log-panel{height:180px}.sim-bottom .sim-log{max-height:130px}}
