/* Event Horizon light, scoped to the existing chart and its result row. */
.workspace .stage-plot{isolation:isolate;border:0;border-radius:0;background:transparent;box-shadow:none}
.workspace .chart-container,.workspace .surface-container{border:0;border-radius:0;background:transparent;box-shadow:none;z-index:1}
.workspace .scene-dust{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.workspace .scene-dust-layer{position:absolute;inset:0;width:100%;height:100%;opacity:.55;pointer-events:none}
.workspace .scene-dust-1{opacity:.4}
.workspace #outcome-price.positive,.workspace #outcome-percent.positive,.workspace #scenario-pnl.positive{color:#eeb27c!important}
.workspace #outcome-price.negative,.workspace #outcome-percent.negative,.workspace #scenario-pnl.negative{color:#ad6c76!important}
.workspace .scenario-roi{color:#eeb27c!important}
.workspace .scenario-roi.negative{color:#ad6c76!important}
.workspace .outcome-net{display:inline-flex;align-items:baseline;gap:9px;border-left:1px solid #eeb27c24;padding-left:15px;min-width:0}
.workspace .outcome-net>small{font:9px var(--mono);color:#a79c90;white-space:nowrap}
.workspace #outcome-net-pnl{font:500 19px/1.3 Manrope,var(--font);letter-spacing:-.3px;white-space:nowrap}
.workspace #outcome-net-pnl.positive{color:#efe8de!important}
.workspace #outcome-net-pnl.negative{color:#ad6c76!important}
/* The panel occupies the existing left edge without changing plot geometry. */
@media(min-width:1000px){
 .workspace.inputs-open>.chart-panel,.workspace.inputs-open>.stats{margin-left:0}
 .workspace.inputs-open .scenario-console .control-dock{grid-template-columns:1.2fr 2fr;gap:30px}
 .workspace .parameters-dialog{z-index:20;background:#050709d9;border-color:#eeb27c26;box-shadow:14px 0 45px #0006;backdrop-filter:blur(8px)}
 .workspace .parameters-dialog .parameters{background:transparent}
}
@media(max-width:700px){
 .workspace .scene-dust-1{display:none}
 .workspace .outcome-net{gap:7px;padding-left:9px}
 .workspace #outcome-net-pnl{font-size:16px}
 .workspace .outcome-net>small{font-size:8px}
}
@media(max-width:380px){.workspace .outcome-net{padding-left:0;border:0}.workspace #outcome-net-pnl{font-size:15px}}
/* Two small compositor opacity layers, with no pointer or animation-frame loop. */
@media(prefers-reduced-motion:no-preference){
 .work-focus .scene-dust-layer{animation:scene-dust-breathe 13s ease-in-out infinite alternate;will-change:opacity}
 .work-focus .scene-dust-1{animation-duration:19s;animation-delay:-8s}
}
@keyframes scene-dust-breathe{from{opacity:.35}to{opacity:.68}}
@media(prefers-reduced-motion:reduce){.workspace .scene-dust-layer{animation:none;will-change:auto}}

/* Same hero amber; the warning remains in the existing result block. */
.workspace #outcome-warning:not([hidden]){display:block;max-width:100%;margin:5px 0 6px;color:#eeb27c;font:11px/1.5 var(--font);overflow-wrap:anywhere}
.workspace .tooltip-caution{color:#eeb27c;font-size:10px;line-height:1.5;margin-top:5px}
@media(max-width:700px){.workspace #outcome-warning:not([hidden]){font-size:10px}}
