/* The room stays light; only the equipment rests in shadow. */
.plan-stage,.plan-stage.is-on{background:transparent;color:#183452}.plan-stage:before,.plan-stage.is-on:before{background:none;animation:none;opacity:0}.plan-stage .machine-copy{position:relative;z-index:2}.plan-stage:not(.is-on) .stage-plan{color:#586f8d}.plan-stage:not(.is-on) .stage-heading h2{color:#173656}.plan-stage:not(.is-on) .machine-copy p{color:#536983}.plan-stage:not(.is-on) .machine-copy h3{color:#233c59}.plan-stage:not(.is-on) .state-label{color:#526985}.plan-stage:not(.is-on) .plan-tag{color:#596d85;border-color:#c5d2e2}.plan-stage .machine-art{isolation:isolate}.plan-stage .machine-art:before{content:'';position:absolute;inset:-9%;z-index:-1;background:radial-gradient(ellipse at 50% 53%,#12243ade 0%,#182d47a6 28%,#243e614f 48%,#4a658326 60%,transparent 73%);transition:opacity .7s;pointer-events:none}.plan-stage.is-on .machine-art:before{opacity:0}.plan-stage:not(.is-on) .art-halo{opacity:0}.plan-stage:not(.is-on) .machine-asset{filter:brightness(.62) saturate(.55);opacity:.9}.plan-stage:not(.is-on) .module-bulb{position:relative;overflow:visible;width:37px;height:46px;animation:idle-bulb 4s ease-in-out infinite}.plan-stage .module-bulb>.bulb-sparks{position:absolute;width:78px;height:78px;left:-21px;top:-17px;fill:none;stroke:#edaa32;stroke-width:2.5;stroke-linecap:round;overflow:visible;animation:spark-burst 4s infinite;pointer-events:none}.plan-stage .bulb-sparks .spark-zig{stroke:#2775ee;stroke-width:2}.plan-stage:not(.is-on) .module-bulb>svg:not(.bulb-sparks){fill:#cad7e5;stroke:#657d98}.plan-stage.is-on .bulb-sparks{display:none}.junction-control .rail-switch{display:flex;flex-direction:column;align-items:center;gap:0;width:94px;padding:2px 2px 8px;border-radius:18px;border:1px solid #adc0d6;background:#e8eff7;box-shadow:0 9px 20px #17345425;cursor:pointer}.junction-control .rail-switch:hover{background:#f9fcff}.rail-lever{display:block;width:86px;height:124px;overflow:visible}.lever-slot{fill:none;stroke:#b5c6d9;stroke-width:8;stroke-linecap:round}.lever-sleeper{fill:#263e59}.lever-base{fill:#92a8c0;stroke:#516c8c;stroke-width:1.5}.lever-arm{transform-origin:45px 94px;transform:rotate(-30deg);transition:transform .5s cubic-bezier(.2,.8,.25,1.15)}.lever-grip{fill:#db9a2e;stroke:#a46a15;stroke-width:1.5}.lever-led{fill:#dba748}.rail-switch[aria-checked=true] .lever-arm{transform:rotate(30deg)}.rail-switch[aria-checked=true] .lever-grip{fill:#164eff;stroke:#0634b3}.rail-switch[aria-checked=true] .lever-led{fill:#6ee5be;filter:drop-shadow(0 0 3px #54e5b1)}.junction-control .rail-switch .power-text{color:#294762;font-weight:750;font-size:12px}.junction-control .switch-invitation{color:#416481;background:#edf2f8;font-size:10px}.rail-switch[aria-checked=false] .lever-grip{animation:lever-invite 3s ease-in-out infinite}.advisor-connections{display:grid;gap:24px;margin-top:38px}.advisor-connection{border:1px solid #cedae9;border-radius:22px;background:#f8fbff;overflow:hidden;transition:border-color .3s}.connection-top{display:grid;grid-template-columns:130px 1fr auto;gap:22px;padding:22px 30px;align-items:center}.connection-art{width:125px;height:110px;background-size:400% 300%;animation:catalog-float 7s ease-in-out infinite}.connection-top h3{font-size:29px;margin:9px 0;letter-spacing:-.6px}.connection-switch{display:flex;flex-direction:column;align-items:center;gap:9px;background:transparent;border:0;color:#45607e;cursor:pointer;font:inherit;min-width:110px}.connection-track{display:block;background:#ccd8e7;border:1px solid #99adc6;padding:4px;width:67px;border-radius:30px;transition:background .3s}.connection-track i{display:block;width:27px;height:27px;background:white;border-radius:50%;box-shadow:0 2px 6px #24476a30;transition:transform .3s}.connection-switch[aria-checked=true] .connection-track{background:#164eff;border-color:#164eff}.connection-switch[aria-checked=true] i{transform:translateX(30px)}.connection-state{font-size:14px;font-weight:650}.connection-result{padding:25px 32px 30px;background:#eaf0f7;border-top:1px solid #d6e0ed;min-height:195px}.connection-result [hidden]{display:none!important}.connection-caption{font-size:12px;letter-spacing:1px;color:#5f6e82;font-weight:650}.connection-result h4{font-size:25px;letter-spacing:-.5px;margin:12px 0}.connection-result p{font-size:17px;line-height:1.7;color:#546c86;margin:0;max-width:900px}.connected{border-color:#88c9b5}.connected .connection-result{background:#e3f5ed;border-color:#b2ddcb}.connected .connection-caption{color:#287862}.connected h4{color:#164e42}.connection-flow{display:inline-block;margin-top:20px;font-size:14px;color:#26755d}.connection-summary{padding:20px 25px;border-left:3px solid #164eff;font-size:18px;color:#284b78;background:#e7eefb}.connection-switch:focus-visible,.rail-switch:focus-visible{outline:3px solid #164eff;outline-offset:5px}@keyframes idle-bulb{0%,63%,91%,100%{filter:none}67%,79%{filter:drop-shadow(0 0 10px #efb13d)}}@keyframes spark-burst{0%,61%,90%,100%{opacity:0;transform:scale(.85)}65%,77%{opacity:1;transform:scale(1)}71%,85%{opacity:.15;transform:scale(1.14)}}@keyframes lever-invite{50%{filter:drop-shadow(0 0 6px #e7a43190)}}@media(max-width:760px){.junction-control .rail-switch{width:52px;padding:0 0 5px;border-radius:12px}.rail-lever{width:48px;height:76px}.junction-control .rail-switch .power-text{font-size:10px}.junction-control .switch-invitation{font-size:7px}.plan-stage .machine-art:before{inset:-6%}.connection-top{grid-template-columns:76px 1fr;gap:12px;padding:20px}.connection-art{width:76px;height:76px}.connection-top h3{font-size:24px}.connection-switch{grid-column:1/-1;flex-direction:row;justify-content:flex-end}.connection-result{padding:22px;min-height:220px}.connection-result h4{font-size:23px}.connection-result p{font-size:16px}}@media(prefers-reduced-motion:reduce){.plan-stage:not(.is-on) .module-bulb,.plan-stage .module-bulb>.bulb-sparks,.rail-switch .lever-grip,.connection-art{animation:none!important}.bulb-sparks{opacity:0}.lever-arm,.connection-track i{transition:none}}
.lever-arm>path:first-child{stroke:#7892ae}.connection-art{position:relative;inset:auto;flex-shrink:0}.connection-top{position:relative}.plan-stage .module-bulb>.bulb-sparks path{fill:none}.site-motion-paused .bulb-sparks,.factory-paused .bulb-sparks{animation-play-state:paused!important}
/* Whole-stage standby lighting; sparks and room flash share a four-second cycle. */
.plan-stage:before{inset:0 calc((100% - 100vw)/2);opacity:1;background:#0c1b2e;transition:background .5s;animation:none}
.plan-stage:not(.is-on):before{animation:stage-spark-flash 4s linear infinite}
.plan-stage.is-on:before{opacity:1;background:#edf2f8;animation:none}
.plan-stage .machine-art:before{display:none}
.plan-stage:not(.is-on) .stage-plan{color:#a4bad7}
.plan-stage:not(.is-on) .stage-heading h2{color:#e2edff}
.plan-stage:not(.is-on) .machine-copy h3{color:#d4e2f5}
.plan-stage:not(.is-on) .machine-copy p{color:#aebfd5}
.plan-stage:not(.is-on) .state-label{color:#9cb4d1}
.plan-stage:not(.is-on) .plan-tag{color:#9cb4d1;border-color:#354c69}
.plan-stage:not(.is-on) .module-bulb>svg:not(.bulb-sparks){fill:#243c56;stroke:#93abc7}
@keyframes stage-spark-flash{0%,63%,71%,75%,85%,100%{background:#0c1b2e}65%,77%{background:#405b7b}68%,81%{background:#1b334e}}
.site-motion-paused .plan-stage:before,.factory-paused .plan-stage:before{animation-play-state:paused!important}
@media(max-width:760px){.plan-stage:before{left:-60px;right:-15px}}
@media(prefers-reduced-motion:reduce){.plan-stage:not(.is-on):before{animation:none!important;background:#0c1b2e}}
