.process-studio{--ps-line:#b4cbb92b;--ps-ink:#e1ebdc;background:#122b2a;color:var(--ps-ink);padding:clamp(24px,4vw,52px);margin:32px 0 0;border:1px solid var(--ps-line);border-radius:8px;text-align:left}.ps-eyebrow{font:500 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.15em;color:#a5c4b5;display:block}.process-studio h2{font:400 clamp(28px,4vw,42px)/1.1 var(--serif);letter-spacing:-.035em;margin:14px 0}.process-studio header p{font:400 14px/1.7 var(--sans);color:#afc6bd;max-width:650px}.ps-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:28px 0}.ps-field>span{display:block;font-size:10px;color:#acc4b8;margin-bottom:7px}.process-studio input[type=text]{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--ps-line);border-radius:3px;background:#1c3834;color:#e5eee1;font:400 14px/1.4 var(--sans)}.ps-structure{display:flex;gap:8px;flex-wrap:wrap}.ps-button{padding:12px 16px;min-height:44px;background:transparent;color:#d2e3d5;border:1px solid var(--ps-line);border-radius:3px;font:500 12px/1.4 var(--sans);cursor:pointer}.ps-button.is-active{background:#bcd9c4;color:#172c26;border-color:#bcd9c4}.ps-world{display:flex;gap:16px;align-items:center;padding:30px 0}.ps-world[data-mode=parallel]{align-items:stretch}.ps-station{flex:1;min-width:0;border:1px solid var(--ps-line);padding:20px 16px;position:relative;background:#1b3834;transition:border-color .3s}.ps-station.is-limiting{border-color:#e0b87b;background:#3b3c2e}.ps-station-number{display:block;font-size:9px;color:#90ad9f;margin-bottom:10px}.ps-station strong{display:block;font:400 21px/1.3 var(--serif);overflow-wrap:anywhere}.ps-reservoir{height:65px;border-bottom:1px solid #8fad9a4d;position:relative;overflow:hidden;margin:20px 0 16px}.ps-reservoir:before{content:'';position:absolute;inset:auto 0 0;height:calc(var(--capacity)*100%);background:#7bb39b44;transition:height .3s}.ps-reservoir>span{position:absolute;width:8px;height:8px;border-radius:50%;background:#bcd9c4;top:50%;animation:ps-flow var(--time) linear infinite}.ps-rate{font-size:11px;color:#c4d7ca;display:block}.ps-limit-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#e0b87b;display:block;margin-top:10px}.ps-connection{color:#839f90}.ps-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.ps-stage-control>input{font-size:12px!important}.ps-stage-control label{display:flex;align-items:center;gap:10px}.process-studio input[type=range]{min-height:44px}.ps-stage-control output{font-size:11px;min-width:26px}.ps-outcome{margin-top:30px;border-top:1px solid var(--ps-line);padding-top:25px;display:flex;align-items:baseline;gap:15px;flex-wrap:wrap}.ps-outcome>.ps-eyebrow{flex:0 0 100%}.ps-outcome>strong{font:400 64px/1 var(--serif);color:#e7e9c7}.ps-outcome>span:not(.ps-eyebrow){font-size:13px}.ps-outcome>p{flex:0 0 100%;font-size:13px;line-height:1.7;color:#b7cec0}.ps-assumptions{border-top:1px solid var(--ps-line);padding-top:18px;margin-top:20px}.ps-assumptions summary{font-size:12px;cursor:pointer}.ps-boundary{font-size:12px;line-height:1.7;color:#a5c0b1;max-width:650px}.ps-save{display:flex;align-items:center;gap:18px;margin-top:26px}.ps-save-status{font-size:11px;color:#b8d0bf}.ps-sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.process-studio :focus-visible{outline:2px solid #e0b87b;outline-offset:4px}@keyframes ps-flow{from{left:-8px}to{left:100%}}
@media(max-width:640px){.ps-fields{grid-template-columns:1fr 1fr}.ps-field:first-child{grid-column:1/-1}.ps-world{gap:5px}.ps-station{padding:14px 8px}.ps-station strong{font-size:17px}.ps-rate{font-size:9px}.ps-connection{font-size:12px}.ps-control-grid{gap:8px}.ps-stage-control>input{font-size:10px!important;padding:9px 6px!important}.ps-stage-control label{display:block}.ps-stage-control output{font-size:10px}.ps-save{align-items:start;flex-direction:column;gap:6px}.ps-outcome>strong{font-size:52px}}
@media(prefers-reduced-motion:reduce){.process-studio *{animation:none!important;transition:none!important}}

@media(max-width:640px){.process-studio input[type=text],.ps-stage-control>input{font-size:16px!important;min-height:44px}}

.ps-frame-statement{font:400 13px/1.7 var(--sans);color:#c3d8c9;max-width:680px;margin:18px 0 0;padding-left:15px;border-left:2px solid #a6c6af}
