/* Shared particle field: IA emerges, dissolves into a fluid cloud, then waits for the response. */
.signal-motion{position:relative;padding:16px;border:1px solid #34465f;border-radius:24px;background:radial-gradient(ellipse at 50% 0%,#192840 0,#0d1728 70%);color:#eff5ff;overflow:hidden;isolation:isolate}
.signal-motion-stage{position:relative;height:248px;overflow:hidden;margin-bottom:4px}
.signal-motion-glow{position:absolute;inset:8% 12%;border-radius:50%;background:radial-gradient(ellipse,#4779cd22,#7663ba0d 45%,transparent 72%);opacity:.8;pointer-events:none}
.signal-particle-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0}
.signal-motion[data-particles=active] .signal-particle-canvas{opacity:1}
.signal-particle-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#d8ecff}
.signal-motion[data-particles=active] .signal-particle-fallback{display:none}
.signal-particle-fallback>span{font:800 64px/1 system-ui,sans-serif;letter-spacing:-2px;text-shadow:0 0 24px #548ef560;z-index:1}
.signal-particle-fallback>i{position:absolute;width:170px;height:170px;border:1px dotted #77a6e944;border-radius:50%;transform:rotate(-24deg) scaleY(.92)}
.signal-particle-fallback>i:nth-of-type(2){width:190px;height:190px;transform:rotate(30deg) scaleX(.85);border-color:#ae92fa33}
.signal-particle-fallback>i:nth-of-type(3){width:135px;height:135px;border-color:#92c9fa22;transform:rotate(52deg) scaleY(.9)}
.signal-motion .signal-motion-copy{display:grid;gap:5px;text-align:center}.signal-motion-copy>span{font-size:9px;font-weight:800;letter-spacing:1.6px;color:#a7b7e8}
.signal-motion .signal-motion-copy h2{font-size:18px!important;font-weight:800!important;color:#f2f7ff!important;margin:0!important;line-height:1.3!important}
.signal-motion .signal-motion-copy p{font-size:11px!important;color:#a5b9d2!important;margin:0!important;line-height:1.5!important}
.signal-motion .signal-preparation-steps{display:grid;gap:0;padding:0;margin:14px 0 0;list-style:none;border-top:1px solid #5b769b24;text-align:left}
.signal-motion .signal-preparation-steps li{display:flex;align-items:center;gap:8px;min-height:30px;padding:5px 1px;font-size:11px;line-height:1.35;font-weight:600;color:#71839e;border-bottom:1px solid #5b769b18;overflow-wrap:anywhere}
.signal-preparation-steps li>strong{margin-left:auto;max-width:52%;text-align:right;font-size:11px;font-weight:800;color:#b4dfff}
.signal-preparation-steps li[data-step-state=complete]{color:#93acc7}.signal-preparation-steps li[data-step-state=current]{color:#d0e8ff}
.signal-step-marker{width:12px;height:12px;flex:none;border:1px solid #647d9e66;border-radius:50%;position:relative;background:#111f33}
[data-step-state=complete]>.signal-step-marker{background:#244777;border-color:#5689c799}
[data-step-state=complete]>.signal-step-marker::after{content:"";position:absolute;left:3px;top:1px;width:3px;height:5px;border:solid #bddfff;border-width:0 1px 1px 0;transform:rotate(40deg)}
[data-step-state=current]>.signal-step-marker{background:#90c5ff;border-color:#abcfff;box-shadow:0 0 8px #70a6ff66;animation:signal-step-pulse 2.2s ease-in-out infinite}
.signal-motion-activity{height:2px;margin-top:14px;overflow:hidden;border-radius:6px;background:#2c3c554a}
.signal-motion-activity i{display:block;width:35%;height:100%;background:linear-gradient(90deg,transparent,#80b8ff,#ad94ff,transparent);animation:signal-search-pass 2.3s ease-in-out infinite;will-change:transform}
.signal-motion[data-state=request] .signal-motion-activity i{animation-duration:1.7s}
.signal-motion[data-animation-state=paused] *{animation-play-state:paused!important}
@keyframes signal-search-pass{0%{transform:translateX(-100%)}100%{transform:translateX(390%)}}
@keyframes signal-step-pulse{0%,100%{box-shadow:0 0 5px #70a6ff33}50%{box-shadow:0 0 12px #70a6ff77}}
@media(max-width:360px){.signal-motion-stage{height:220px}.signal-motion{padding:13px}.signal-motion .signal-preparation-steps li,.signal-preparation-steps li>strong{font-size:10px}}
/* Result entrance is enabled only for a newly received signal. */
#generator-root .gen-signal,body.mobile-workspace .studio-result{animation:none}
#generator-root .gen-signal .gen-direction>span{animation:none}
.signal-result-reveal{position:relative;isolation:isolate;animation:signal-result-arrive .7s cubic-bezier(.16,1,.3,1) 1 both!important}
.signal-result-reveal-glow{position:absolute;inset:0;border:1px solid #a3d9ff55;border-radius:inherit;background:radial-gradient(ellipse at 50% 35%,#9fd8ff24,transparent 65%);opacity:0;pointer-events:none;z-index:1;transform-origin:50% 35%;animation:signal-result-wave .7s ease-out 1 both}
.studio-result:not(.signal-result-reveal) .signal-chart .signal-chart-candle:not(.signal-chart-current),.gen-signal:not(.signal-result-reveal) .signal-chart .signal-chart-candle:not(.signal-chart-current){animation:none}
.signal-chart{display:block;width:100%;height:auto!important;aspect-ratio:560/250!important;border:1px solid #354059!important;border-radius:15px!important;overflow:hidden!important;color:#9cb2d5}
.signal-chart .signal-chart-market{animation:signal-market 12s ease-in-out infinite alternate;transform-box:view-box}
.signal-chart .signal-chart-candle.gen-studio-candle{transform-box:fill-box;transform-origin:center;animation:signal-candle-reveal .6s cubic-bezier(.16,1,.3,1) both}
.signal-chart .signal-chart-candle:nth-child(3n){animation-delay:.08s}.signal-chart .signal-chart-candle:nth-child(3n+1){animation-delay:.16s}
.signal-chart .signal-chart-candle.signal-chart-current{animation:signal-live-candle 2.4s ease-in-out infinite alternate;transform-origin:center}
.signal-chart .signal-chart-price{animation:signal-price 2.4s ease-in-out infinite alternate}
.signal-chart-halo{transform-box:fill-box;transform-origin:center;animation:signal-halo 2.4s ease-out infinite}
#gen-broker-choice-wrap{grid-column:1/-1}#gen-broker-choice{min-width:0;width:100%}
@keyframes signal-result-arrive{from{opacity:0;transform:translateY(8px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes signal-result-wave{0%{opacity:.5;transform:scale(.93)}100%{opacity:0;transform:scale(1.04)}}
@keyframes signal-candle-reveal{from{opacity:0;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1)}}
@keyframes signal-market{to{transform:translateX(-7px)}}
@keyframes signal-live-candle{from{transform:scaleY(.9)}to{transform:scaleY(1.08)}}
@keyframes signal-price{from{transform:translateY(2px)}to{transform:translateY(-2px)}}
@keyframes signal-halo{to{opacity:0;transform:scale(1.8)}}

@media(prefers-reduced-motion:reduce){.signal-motion *,.signal-chart *,.signal-result-reveal,.signal-result-reveal-glow{animation:none!important;transition:none!important}.signal-motion-activity i{animation:none;transform:none;opacity:.3}.signal-result-reveal{opacity:1;transform:none}.signal-result-reveal-glow{opacity:0}}

.signal-chart .signal-chart-candle.studio-candle-up{fill:#2bdc99}.signal-chart .signal-chart-candle.studio-candle-down{fill:#ff5c73}
:root[data-theme=light] #generator-root .gen-primary{background:var(--edit-accent,#d9855f);border-color:var(--edit-accent,#d9855f);color:#171717!important}

#generator-root.generating .gen-heading h1,#generator-root.generating .gen-heading p,.mobile-studio[data-preparing="true"] .generator-shared-heading h1,.mobile-studio[data-preparing="true"] .generator-shared-heading p{display:none}
