/* Registered to the existing world image; the layer never contributes layout. */
.robot-city-layer { position:absolute;inset:0 0 auto;display:block;width:100%;height:auto;aspect-ratio:1122 / 1402;z-index:0;overflow:hidden;pointer-events:none;user-select:none;--city-power:#70e5e2;--city-light:#99ffe7; }
.robot-city-layer[hidden] { display:none!important; }
.robot-city-layer[data-mode="waiting"] { --city-power:#d6ac61;--city-light:#ffd490; }
.robot-city-layer[data-mode="standby"] { --city-power:#5a839b;--city-light:#84acbd; }
.robot-city-routes>path { fill:none;stroke:var(--city-power);stroke-width:.9;opacity:.15;stroke-linecap:round;stroke-linejoin:round; }
.robot-city-routes>.robot-city-route-packet { stroke-width:1.6;stroke-dasharray:2 6 11 121;opacity:.48;filter:drop-shadow(0 0 2px #6be8ed77); }
.robot-city-layer[data-mode="working"] .robot-city-route-packet { opacity:.72; }
.robot-city-layer[data-mode="waiting"] .robot-city-route-packet { opacity:.22; }
.robot-city-district { fill:var(--city-light);color:var(--city-light); }
.robot-city-district[data-waiting="true"] { fill:#eebd70;color:#eebd70; }
.robot-city-light-halo { opacity:.19;filter:blur(2px); }
.robot-city-district>path { fill:none;stroke:currentColor;stroke-width:1;opacity:.5; }
.robot-city-district>rect { filter:drop-shadow(0 0 3px #80f2d980);opacity:.75; }
.robot-city-layer[data-mode="working"] .robot-city-district>rect { opacity:1; }
.robot-city-radar>circle { fill:none;stroke:var(--city-power);stroke-width:.7;opacity:.3; }
.robot-city-radar-sweep>path { fill:var(--city-power);opacity:.12; }
.robot-city-radar-sweep>.robot-city-radar-hand { fill:none;stroke:var(--city-light);stroke-width:.8;opacity:.45; }
.robot-city-radar>.robot-city-radar-center { fill:var(--city-light);stroke:none;opacity:.6; }
.robot-city-drone { opacity:0;filter:drop-shadow(0 2px 1px #0008); }
.robot-city-drone-hull { fill:#294b5b;stroke:#83a5af;stroke-width:.8; }
.robot-city-drone-roof { fill:#57858e; }
.robot-city-drone-cargo { fill:#244152;stroke:#ad925a;stroke-width:.8; }
.robot-city-drone-engine { stroke:#82f3fa;stroke-width:1.8;stroke-linecap:square;filter:drop-shadow(0 0 3px #41d8ee); }
.robot-city-drone-lamp { stroke:#ffd797;stroke-width:1.2; }
.robot-city-drone-trail { stroke:#67d3e2;stroke-width:1;opacity:.2; }
.robot-city-power-wave { fill:none;stroke:#b5ffeb;stroke-width:2.2;opacity:0;filter:drop-shadow(0 0 8px #65dec577); }
@media(max-width:760px) { .robot-city-routes>.robot-city-route-packet { stroke-width:2; } .robot-city-drone-trail { display:none; } }
@media(prefers-reduced-motion:reduce) { .robot-city-power-wave { display:none; } }
