/* The rig spans the actual editor, including its live controls. */
.rw-crew-overlay{position:absolute;inset:0;z-index:35;overflow:hidden;pointer-events:none!important;contain:layout paint}.rw-crew-overlay *{pointer-events:none!important;box-sizing:border-box}.rw-crew-overlay[hidden],.rw-crew-strip[hidden],.rw-crew-strip button[hidden],.rw-crew-robot[hidden]{display:none!important}
.rw-crew-effects,.rw-crew-actors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.rw-crew-effects{z-index:1}.rw-crew-actors{z-index:2}
.rw-crew-overlay .rw-crew-cargo{position:absolute!important;left:0!important;top:0!important;width:var(--rw-cargo-width,220px)!important;height:var(--rw-cargo-height,112px)!important;z-index:0;opacity:0;transform-origin:50% 50%;visibility:visible!important;box-shadow:0 4px 0 #03121c,0 12px 25px #0008!important;pointer-events:none!important;will-change:transform}
.rw-crew-cargo .node-quick-actions,.rw-crew-cargo .node-state{display:none!important}
.rw-crew-cargo .node-handle{opacity:1!important;cursor:default!important}
.rw-crew-robot{position:absolute;top:0;left:0;width:94px;height:94px;transform-origin:50% 91%;will-change:transform;isolation:isolate;--rw-tint:0deg;--rw-saturation:1;--rw-scale:1}.rw-crew-body{position:absolute;inset:0;background-image:var(--rw-body);background-size:100% 100%;background-repeat:no-repeat;image-rendering:pixelated;filter:drop-shadow(0 calc(3px * var(--rw-scale)) calc(2px * var(--rw-scale)) #0009) hue-rotate(var(--rw-tint)) saturate(var(--rw-saturation))}.rw-crew-robot[data-role=technician]{--rw-tint:62deg;--rw-saturation:.84}.rw-crew-robot[data-role=courier]{--rw-tint:200deg;--rw-saturation:.8}
.rw-crew-face-light{position:absolute;left:53%;top:23%;width:23%;height:18%;border-radius:45%;background:radial-gradient(ellipse,#8bfbff4a,transparent 70%);opacity:.25;mix-blend-mode:screen;transition:opacity .16s}.rw-crew-robot[data-mode=waiting] .rw-crew-face-light{background:radial-gradient(ellipse,#ffd29599,transparent 70%);opacity:.9}.rw-crew-robot:is([data-mode=active],[data-mode=press],[data-mode=wire],[data-mode=place],[data-mode=build]) .rw-crew-face-light{opacity:1}.rw-crew-robot[data-mode=complete] .rw-crew-face-light{background:radial-gradient(ellipse,#d4ffb4a6,transparent 70%);opacity:1}
.rw-crew-shadow{position:absolute;left:26%;right:20%;bottom:-3%;height:6%;border-radius:50%;background:#001017a6;filter:blur(calc(3px * var(--rw-scale)));z-index:-1}.rw-crew-thruster{position:absolute;left:42%;bottom:0;width:23%;height:8%;border-radius:50%;background:radial-gradient(ellipse,#a9f5e57a,transparent 70%);opacity:.5;z-index:-1}.rw-crew-robot:not([data-mode=idle]) .rw-crew-thruster{height:13%;bottom:-4%;opacity:.85}.rw-crew-badge{position:absolute;left:62%;top:59%;width:5%;height:9%;border-radius:1px;background:var(--rw-accent);box-shadow:0 0 5px color-mix(in srgb,var(--rw-accent) 40%,transparent);opacity:.7}
.rw-crew-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:33px;padding:6px 10px;border-top:1px solid #35596988;background:linear-gradient(90deg,#102a30,#09212c);color:#9bbcc5;flex:0 0 auto;font:9px/1.5 'DM Sans',Arial,sans-serif}.rw-crew-caption{display:flex;align-items:center;gap:8px;min-width:0}.rw-crew-caption>i{width:4px;height:4px;flex-shrink:0;background:#b9d39f;box-shadow:0 0 7px #b9d39f55}.rw-crew-caption>strong{flex-shrink:0;font:7px/1.5 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#d0c18d;font-weight:400}.rw-crew-message{min-width:0;line-height:1.5;color:#8fb7c0}
.rw-crew-strip button{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;border:1px solid #3c636e;border-radius:3px;min-height:25px;background:#0a1b25;color:#b8d9d8;padding:4px 7px;font:8px/1.4 'DM Sans',Arial,sans-serif;cursor:pointer}.rw-crew-strip button:hover{background:#14343d;border-color:#89c8c1;color:#e4f5e8}.rw-crew-strip button:focus-visible{outline:2px solid #e3c48b;outline-offset:3px}.rw-crew-strip button[aria-pressed=true]{color:#d8c495;border-color:#7b6e4e}.rw-crew-strip button>span{font-size:9px;color:#9fcfbd}.rw-crew-overlay.is-frozen .rw-crew-thruster,.rw-crew-overlay.is-frozen .rw-crew-face-light{opacity:.2}
@media(max-width:760px){.rw-crew-strip{padding:7px 9px;min-height:40px;gap:8px}.rw-crew-caption{gap:6px;flex-wrap:wrap}.rw-crew-caption>strong{font-size:7px}.rw-crew-message{flex-basis:100%;font-size:9px;margin-left:10px;max-width:235px}.rw-crew-strip button{min-height:31px;font-size:9px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.rw-crew-overlay{display:none!important}.rw-crew-face-light{transition:none}}

/* A small wearable silhouette makes each crew role recognisable at game scale. */
.rw-crew-accessory{position:absolute;z-index:3;pointer-events:none;filter:drop-shadow(0 calc(2px * var(--rw-scale)) 0 #071720)}
.rw-crew-accessory i,.rw-crew-accessory b{position:absolute;display:block}
.rw-crew-robot[data-personality=eager] .rw-crew-accessory{left:46%;top:8%;width:28%;height:11%;border-radius:55% 55% 12% 10%;border:calc(2px * var(--rw-scale)) solid #3b3022;background:linear-gradient(#f7d286 0 30%,#bc8542 32% 70%,#e8b563 72%);transform:rotate(-5deg)}
.rw-crew-robot[data-personality=eager] .rw-crew-accessory i{left:62%;top:-61%;width:9%;height:66%;background:#537581}
.rw-crew-robot[data-personality=eager] .rw-crew-accessory b{left:54%;top:-92%;width:25%;height:40%;background:#ffdf90;box-shadow:0 0 calc(5px * var(--rw-scale)) #ffe087aa;animation:rw-eager-signal 2.6s steps(1,end) infinite}
.rw-crew-robot[data-personality=careful] .rw-crew-accessory{left:23%;top:52%;width:16%;height:23%;border:calc(2px * var(--rw-scale)) solid #122f34;border-radius:12%;background:linear-gradient(90deg,#699c94,#2e6565);transform:rotate(-7deg)}
.rw-crew-robot[data-personality=careful] .rw-crew-accessory i{left:16%;right:16%;top:24%;height:45%;background:repeating-linear-gradient(0deg,#b8ded0 0 12%,transparent 14% 30%)}
.rw-crew-robot[data-personality=careful] .rw-crew-accessory b{left:32%;top:-12%;width:40%;height:20%;background:#d6cc98;border:calc(1px * var(--rw-scale)) solid #3e6a66}
.rw-crew-robot[data-personality=quirky] .rw-crew-accessory{left:17%;top:50%;width:24%;height:24%;border:calc(2px * var(--rw-scale)) solid #182b40;border-radius:50%;background:repeating-radial-gradient(circle,#151f33 0 11%,#a49cba 12% 19%,#394353 20% 27%)}
.rw-crew-robot[data-personality=quirky] .rw-crew-accessory i{left:34%;top:34%;width:32%;height:32%;border:calc(1px * var(--rw-scale)) solid #182736;background:#ded0b1;border-radius:30%}
.rw-crew-robot[data-personality=quirky] .rw-crew-accessory b{left:75%;top:42%;width:50%;height:calc(2px * var(--rw-scale));background:#baa8db;transform-origin:left;transform:rotate(45deg)}
.rw-crew-robot[data-personality=quirky][data-phase=transport] .rw-crew-accessory{animation:rw-cable-spool .65s linear infinite}
.rw-crew-robot[data-mode=idle] .rw-crew-face-light{animation:rw-standby-eyes 5.8s steps(1,end) infinite}
.rw-crew-robot[data-personality=careful][data-mode=idle] .rw-crew-face-light{animation-delay:-2.4s}
.rw-crew-robot[data-personality=quirky][data-mode=idle] .rw-crew-face-light{animation-delay:-4.1s}
.rw-crew-robot[data-mode=waiting] .rw-crew-face-light{animation:rw-awaiting-approval 1.9s ease-in-out infinite}
.rw-crew-robot[data-mode=celebrate] .rw-crew-face-light{background:radial-gradient(ellipse,#dbffc8ac,transparent 75%);opacity:1}
.rw-crew-overlay.is-frozen *{animation-play-state:paused!important}
@keyframes rw-eager-signal{0%,11%,18%,100%{opacity:1}8%,15%{opacity:.25}}
@keyframes rw-cable-spool{to{transform:rotate(360deg)}}
@keyframes rw-standby-eyes{0%,44%,48%,100%{opacity:.38}45%,47%{opacity:.04}}
@keyframes rw-awaiting-approval{0%,100%{opacity:.4}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.rw-crew-overlay *{animation:none!important}}
