/* The canvas is the workspace. Hero tones, no surrounding plot panel. */
.workspace.mesh-workspace.focus-mode,.workspace.mesh-workspace:fullscreen{inset:0;position:fixed;width:100%;height:100dvh;min-height:0;padding:0!important;margin:0!important;background:#000;border:0;border-radius:0;overflow:hidden}
.mesh-workspace .workspace-bar{position:absolute;inset:0 0 auto;height:74px;min-height:74px;padding:0 30px;z-index:5;border:0;background:linear-gradient(#000b,transparent);gap:24px;pointer-events:none}
.mesh-workspace .workspace-bar>*{pointer-events:auto}
.mesh-workspace .workspace-bar .instrument-tabs{margin:0 auto 0 20px;gap:25px}
.mesh-workspace .workspace-bar .instrument-tabs>button{font:11px var(--font);min-height:50px;color:#8d8983}
.mesh-workspace .workspace-bar .instrument-tabs>button.active{color:#edf0f4}
.mesh-workspace .workspace-bar .instrument-tabs>button:after{display:none}
.mesh-workspace .tab-number{display:none}
.mesh-workspace .work-home b{font-size:22px;color:#edf0f4}.mesh-workspace .work-home small{color:#ad967d}
.mesh-workspace .workspace-bar #exit-workspace{display:none}
.mesh-workspace .workspace-bar #open-parameters{background:#10141ad9;border:1px solid #c4d4e833;color:#c4cbd5;backdrop-filter:blur(12px);border-radius:30px;min-height:40px;padding:8px 16px;font-size:11px}
.mesh-workspace .workspace-bar #open-parameters:hover{background:#1c2026}
.workspace.mesh-workspace>.chart-panel,.workspace.mesh-workspace.inputs-open>.chart-panel{position:absolute;inset:0;margin:0!important;padding:0!important;display:block;border:0;border-radius:0;background:transparent;overflow:hidden;min-height:0}
.workspace.mesh-workspace .stage-plot{position:absolute;inset:0;min-height:0!important;width:100%;height:100%;margin:0;background:none;overflow:hidden}
.mesh-workspace .surface-container,.mesh-workspace .chart-container{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent}
.mesh-workspace #surface-canvas{width:100%;height:100%;display:block;outline:0;touch-action:none;cursor:grab}
.mesh-workspace #surface-canvas:active{cursor:grabbing}
.mesh-workspace #surface-canvas:focus-visible{outline:1px solid #c4d4e855;outline-offset:-6px}
.mesh-workspace .stage-plot .scene-dust{display:none}
.mesh-workspace .surface-hint,.mesh-workspace .surface-caption{display:none!important}
.workspace.mesh-workspace .scene-console{position:absolute;z-index:3;left:50%;bottom:max(38px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 44px));padding:24px 28px 22px;background:radial-gradient(ellipse at center,#000e 5%,#000a 65%,transparent 100%);border:0;pointer-events:none;text-align:center}
.mesh-workspace .scene-console:before{content:'';position:absolute;inset:-55px -80px;background:radial-gradient(ellipse,#000c 10%,#0008 45%,transparent 70%);z-index:-1;pointer-events:none}
.mesh-workspace .scene-result{min-height:125px}
.mesh-workspace .scene-kicker{font:8px var(--mono);letter-spacing:2.2px;color:#a28d77;display:block;margin-bottom:10px}
.workspace.mesh-workspace #outcome-net-pnl{font:400 clamp(38px,5.2vw,68px)/1.1 Manrope,var(--font);letter-spacing:-2.5px;white-space:nowrap;display:block;overflow-wrap:anywhere}
.workspace.mesh-workspace #outcome-net-pnl.positive{color:#edf0f4!important;text-shadow:0 0 24px #c4d4e820}
.workspace.mesh-workspace #outcome-net-pnl.negative{color:#cd8792!important;text-shadow:0 0 24px #cd879215}
.mesh-workspace #scene-context{display:block;font:9px/1.5 var(--mono);color:#b59c80;margin-top:12px}
.mesh-workspace #scene-source{display:block;font:8px/1.5 var(--font);color:#7e766d;margin-top:5px}
.workspace.mesh-workspace #outcome-warning:not([hidden]){font-size:10px;line-height:1.5;margin:7px 0 0;color:#c4d4e8}
.mesh-workspace .scene-slider{margin:24px 0 0;pointer-events:auto;text-align:left}
.mesh-workspace .scene-slider-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mesh-workspace .scene-slider label{font-size:11px;color:#bbb0a3}
.mesh-workspace #scene-change-output{font:11px var(--mono);color:#e3c09c}
.mesh-workspace .scene-slider input[type=range]{display:block;width:100%;height:32px;margin:0;cursor:ew-resize;accent-color:#c4d4e8;touch-action:pan-y}
.mesh-workspace .scene-slider input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#cd879266,#c4d4e888)}
.mesh-workspace .scene-slider input[type=range]::-webkit-slider-thumb{margin-top:-6px;background:#c4d4e8;box-shadow:0 0 12px #c4d4e844}
/* One scrollable Advanced drawer, above the unchanged canvas dimensions. */
.workspace.mesh-workspace .parameters-dialog{position:fixed;inset:18px 18px 18px auto;width:420px;max-width:calc(100vw - 36px);height:calc(100dvh - 36px);max-height:calc(100dvh - 36px);margin:0;border:1px solid #c4d4e824;border-radius:18px;background:#080808f2;box-shadow:-20px 0 70px #0008;backdrop-filter:blur(16px);z-index:30;overflow:hidden}
.workspace.mesh-workspace .parameters-dialog .parameters{height:100%;max-height:100%;padding:0;display:flex;flex-direction:column;background:transparent;overflow:hidden}
.mesh-workspace .parameters-dialog .panel-heading{padding:22px 24px 12px;margin:0;flex-shrink:0}
.mesh-workspace .parameters-dialog .example-label{padding:0 24px 15px;margin:0;font-size:9px}
.mesh-workspace .parameters-dialog #form-area{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px 26px;scrollbar-width:thin;scrollbar-color:#525c6b transparent}
.mesh-workspace .parameters-dialog .parameter-footer{flex-shrink:0;padding:12px 24px 18px;border-top:1px solid #c4d4e818;background:#090909}
.workspace.mesh-workspace #apply-parameters{display:flex;justify-content:space-between;width:100%;min-height:44px;background:#edf0f4;color:#141820;border-color:#edf0f4;margin:0;font-size:12px}
.mesh-workspace .parameter-footer #save-bottom,.mesh-workspace .parameter-footer .drawer-links{display:none}
.mesh-workspace #form-error{position:static;margin:0 0 16px;padding:12px;border:1px solid #cd879244;background:#cd879210;color:#ce9ba1;font-size:12px}
.mesh-workspace .parameters-dialog .field input,.mesh-workspace .parameters-dialog .field select{background:#10141a;border-color:#c4d4e822;color:#dce2eb;font-size:14px}
.mesh-workspace #form-area .chart-head{min-height:0;padding:20px 0 8px;border-top:1px solid #c4d4e816}
.mesh-workspace #form-area .chart-heading h2{font-size:14px;white-space:normal}
.mesh-workspace #form-area .price-outcome{padding:14px 0 22px}
.mesh-workspace #form-area #outcome-price{font-size:25px}
.mesh-workspace #form-area #outcome-start{font-size:18px}
.mesh-workspace #form-area #outcome-label{font-size:22px}
.mesh-workspace #form-area .simulation-heading{display:flex;justify-content:space-between;font-size:10px;padding:14px 0}
.mesh-workspace #form-area .scenario-controls{display:block;padding:0;margin:0}
.mesh-workspace #form-area .range-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}
.mesh-workspace #form-area .range-label label{font-size:11px;color:#b1a597}
.mesh-workspace #form-area .change-entry,.mesh-workspace #form-area .market-price-entry{display:flex;align-items:center;height:38px;background:#11100f;border:1px solid #c4d4e822;padding:0 8px;border-radius:5px;color:#9aa5b4}
.mesh-workspace #form-area .change-entry input,.mesh-workspace #form-area .market-price-entry input{background:none;border:0;max-width:130px;font:14px var(--mono);color:#d1d8e2;height:36px;text-align:right}
.mesh-workspace #form-area .scenario-spot-entry{margin:0 0 18px}
.mesh-workspace #scenario-more{display:block;border-top:1px solid #c4d4e818}
.mesh-workspace #scenario-more>summary{display:flex;align-items:center;font-size:12px;padding:16px 0;cursor:pointer;gap:10px;color:#c4cbd5}
.mesh-workspace #secondary-scenario-summary{margin-left:auto;font:9px var(--mono);color:#9aa5b4}
.mesh-workspace .secondary-control-body{display:grid;grid-template-columns:1fr;gap:18px;padding:0 0 18px}
.mesh-workspace #form-area .vol-control{display:block;padding:0}
.mesh-workspace #form-area .vol-control input[type=range],.mesh-workspace #form-area #elapsed-range{width:100%;accent-color:#c4d4e8;margin:0}
.mesh-workspace #form-area .console-caption{font-size:9px;color:#8f8174;margin-top:8px}
.mesh-workspace #form-area .chart-toolbar{display:flex;padding:14px 0;border-top:1px solid #c4d4e818}
.mesh-workspace .chart-toolbar .segmented,.mesh-workspace .chart-toolbar .view-tabs,.mesh-workspace .chart-toolbar .graph-interaction{display:none}
.mesh-workspace .chart-options{position:static;width:100%}.mesh-workspace .chart-options>summary{font-size:11px}
.mesh-workspace .chart-options-body{position:static!important;display:flex;flex-wrap:wrap;padding:12px 0 0!important;background:none!important;border:0!important;box-shadow:none!important;min-width:0!important;width:100%!important}
.mesh-workspace .chart-options:not([open])>.chart-options-body{display:none}
.mesh-workspace .analysis-drawer{border-top:1px solid #c4d4e818}
.mesh-workspace .analysis-drawer .scenario-summary .primary-result{display:none}
.mesh-workspace .analysis-drawer .scenario-details{display:none}
.mesh-workspace .analysis-drawer .stats{display:grid;grid-template-columns:1fr 1fr;height:auto;min-height:0;gap:18px 10px;padding:12px 0}
.mesh-workspace .analysis-drawer .stat{padding:0;border:0;min-height:60px}
.mesh-workspace .analysis-drawer .stat-icon{display:none}
.mesh-workspace .analysis-drawer .stat strong{font-size:18px;line-height:1.4;color:#d1d8e2}
.mesh-workspace .analysis-drawer .stat-label{font-size:9px;color:#9aa5b4}
.mesh-workspace .analysis-drawer .stress-presets{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.mesh-workspace .analysis-drawer .stress-presets button{min-height:38px;background:#14110e;border-color:#c4d4e826;color:#b9c3d1;font-size:10px;white-space:normal}
.mesh-workspace .analysis-drawer .model-note{font-size:10px;color:#a99b8c!important}
.mesh-workspace .mesh-legend{border-top:1px solid #c4d4e818;padding-top:20px;display:flex;gap:16px;flex-wrap:wrap;color:#9aa5b4;font-size:10px}
.mesh-workspace .mesh-legend>span{display:flex;align-items:center;gap:6px}.mesh-legend i{width:16px;height:1px;background:#c4d4e8}.mesh-legend>span:nth-child(2) i{background:#edf0f4;box-shadow:0 0 8px #c4d4e8}.mesh-legend>span:nth-child(3) i{background:#cd8792}
.mesh-workspace .mesh-legend p{width:100%;font-size:10px;line-height:1.7;color:#9aa5b4}
.mesh-workspace .advanced-actions{display:flex;align-items:center;gap:15px;padding-top:15px;margin-top:15px;border-top:1px solid #c4d4e818;flex-wrap:wrap}
.mesh-workspace .advanced-actions .desktop-work-action{display:flex}
.mesh-workspace.invalid #surface-canvas{visibility:hidden}
@media(max-width:700px){
 .mesh-workspace .workspace-bar{height:64px;min-height:64px;padding:0 18px;gap:10px}
 .mesh-workspace .work-home{gap:5px}.mesh-workspace .work-home b{font-size:19px}.mesh-workspace .work-home small{display:none}.mesh-workspace .work-home>span{font-size:14px;margin:0}
 .mesh-workspace .workspace-bar .instrument-tabs{gap:13px;margin:0 auto;font-size:10px}
 .mesh-workspace .workspace-bar .instrument-tabs>button{font-size:10px;min-height:45px;padding:0}
 .mesh-workspace .workspace-bar #open-parameters{padding:8px 12px;font-size:10px;min-height:36px}.mesh-workspace #open-parameters .icon{display:none}
 .workspace.mesh-workspace .scene-console{width:calc(100% - 36px);padding:18px 8px 13px;bottom:max(18px,env(safe-area-inset-bottom))}
 .workspace.mesh-workspace #outcome-net-pnl{font-size:clamp(35px,10vw,50px);letter-spacing:-1.5px}
 .mesh-workspace .scene-result{min-height:118px}.mesh-workspace .scene-slider{margin-top:20px}
 .mesh-workspace .scene-slider label,.mesh-workspace #scene-change-output{font-size:11px}
 .mesh-workspace #scene-source{font-size:8px}.mesh-workspace #scene-context{font-size:8px}
 .workspace.mesh-workspace .parameters-dialog{inset:auto 0 0;width:100%;max-width:100%;height:min(88dvh,900px);max-height:calc(100dvh - 15px);border-radius:20px 20px 0 0;border-bottom:0;box-shadow:0 -20px 70px #0009}
 .workspace.mesh-workspace .parameters-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}
 .mesh-workspace .parameters-dialog .panel-heading{padding:25px 20px 12px}
 .mesh-workspace .parameters-dialog .example-label{padding:0 20px 15px}
 .mesh-workspace .parameters-dialog #form-area{padding:0 20px 22px}
 .mesh-workspace .parameters-dialog .parameter-footer{padding:12px 20px max(18px,env(safe-area-inset-bottom))}
 .mesh-workspace .parameters-dialog .field input,.mesh-workspace .parameters-dialog .field select{font-size:16px;min-height:42px}
}
@media(max-width:370px){.mesh-workspace .workspace-bar{padding:0 12px;gap:8px}.mesh-workspace .work-home b{font-size:17px}.mesh-workspace .workspace-bar .instrument-tabs{gap:10px}.mesh-workspace .workspace-bar .instrument-tabs>button{font-size:9px}.mesh-workspace .workspace-bar #open-parameters{font-size:9px;padding:8px 10px}}
@media(max-height:600px) and (min-width:701px){.workspace.mesh-workspace .scene-console{left:auto;right:30px;transform:none;width:330px;bottom:15px;padding:14px}.workspace.mesh-workspace #outcome-net-pnl{font-size:42px}.mesh-workspace .scene-result{min-height:90px}}
@media(prefers-reduced-motion:reduce){.mesh-workspace *, .mesh-workspace *:before{animation:none!important;transition:none!important}}

/* Override the legacy input background while keeping a generous touch target. */
.workspace.mesh-workspace .scene-slider input[type=range]{appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;padding:0;box-shadow:none;width:100%;height:32px}
.workspace.mesh-workspace .scene-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border:1px solid #edf0f4;border-radius:50%;background:#c4d4e8;margin-top:-5px;box-shadow:0 0 12px #c4d4e855}
.workspace.mesh-workspace .scene-slider input[type=range]::-moz-range-track{height:2px;background:#c4d4e866}
.workspace.mesh-workspace .scene-slider input[type=range]::-moz-range-thumb{width:12px;height:12px;border:1px solid #edf0f4;border-radius:50%;background:#c4d4e8}

@media(min-width:701px) and (max-width:999px){
 .workspace.mesh-workspace .parameters-dialog{inset:auto 0 0;width:100%;max-width:620px;height:min(88dvh,900px);max-height:calc(100dvh - 15px);margin:0 auto;border-radius:20px 20px 0 0;border-bottom:0}
 .workspace.mesh-workspace .parameters-dialog::backdrop{background:#0009}
}
.workspace.mesh-workspace #change{width:100%;margin-top:0}
.workspace.mesh-workspace #open-parameters>span:last-child{display:inline!important}
.workspace.mesh-workspace:before{background:radial-gradient(ellipse at 58% 33%,#c4d4e806,transparent 58%)}
.workspace.mesh-workspace:after{display:none}
