.blk-symbol{display:block;overflow:visible}.blk-symbol path,.blk-symbol rect,.blk-symbol ellipse{vector-effect:non-scaling-stroke;stroke:var(--blk-ink);stroke-linecap:round;stroke-linejoin:round}.blk-symbol .blk-layer--body>*{fill:var(--blk-paper);stroke-width:var(--blk-stroke-body)}.blk-symbol .blk-layer--lining>*{stroke-width:var(--blk-stroke-hatch)}.blk-symbol .blk-layer--internals>*{fill:none;stroke-width:var(--blk-stroke-detail)}.blk-symbol .blk-layer--charge>*{fill:var(--blk-paper);stroke-width:var(--blk-stroke-hatch)}.blk-symbol .blk-layer--detail>*{fill:var(--blk-paper);stroke-width:var(--blk-stroke-detail)}.blk-symbol .blk-layer--nozzle>*{fill:var(--blk-paper);stroke-width:var(--blk-stroke-nozzle)}.blk-symbol .blk-layer--accent>*{fill:none;stroke-width:var(--blk-stroke-detail)}.blk-symbol .blk-hatch{fill:none;stroke:var(--blk-ink);stroke-width:.12;vector-effect:none;opacity:.55}.blk-symbol .blk-open{fill:none}.blk-symbol .blk-weight--pipe{stroke-width:var(--blk-stroke-pipe);stroke-linecap:butt}.blk-symbol .blk-weight--body{stroke-width:var(--blk-stroke-body)}.blk-symbol .blk-weight--nozzle{stroke-width:var(--blk-stroke-nozzle)}.blk-symbol .blk-weight--detail{stroke-width:var(--blk-stroke-detail)}.blk-symbol .blk-weight--hatch{stroke-width:var(--blk-stroke-hatch)}.blk-symbol .blk-tone--muted{stroke-dasharray:2 2}.blk-symbol .blk-tone--hidden{stroke-dasharray:4 2}.blk-symbol .blk-glyph{fill:var(--blk-ink);stroke:none;font-family:var(--font-ui);font-weight:600}.blk-symbol .blk-glyph.blk-tone--muted{font-weight:400}.blk-symbol.blk--thumb{--blk-stroke-pipe: var(--blk-stroke-body-base);--blk-stroke-body: var(--blk-stroke-nozzle-base);--blk-stroke-nozzle: var(--blk-stroke-detail-base);--blk-stroke-detail: var(--blk-stroke-hatch-base)}.blk-symbol .blk-overlay-rail{fill:none;stroke:var(--blk-overlay);stroke-width:1.2px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.blk-symbol .blk-overlay-rail.is-faint{opacity:.25}.blk-symbol .blk-overlay-frame{fill:none;stroke:var(--blk-overlay);stroke-width:.8px;stroke-dasharray:1 2;vector-effect:non-scaling-stroke}.blk-symbol .blk-overlay-handle{fill:var(--blk-paper);stroke:var(--blk-overlay);stroke-width:1.2px;vector-effect:non-scaling-stroke}.blk-symbol .blk-overlay-handle.is-locked{stroke-dasharray:1.5 1.5}.blk-symbol .blk-overlay-handle.is-active{fill:var(--blk-overlay)}.blk-symbol .blk-overlay-anchor{fill:var(--blk-overlay);stroke:none}.process-node.process-node--restyled-equipment{display:block;box-sizing:border-box;width:var(--process-node-width);height:var(--process-node-height);min-height:var(--process-node-height);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;isolation:isolate;overflow:visible}.process-node.process-node--restyled-equipment:before{display:none}.process-node.process-node--restyled-equipment.is-selected,.process-node.process-node--restyled-equipment.process-node--warning,.process-node.process-node--restyled-equipment.process-node--error{border-color:transparent;box-shadow:none}.process-node.process-node--restyled-equipment .process-node__surface{position:relative;width:100%;height:100%;display:block;pointer-events:none}.process-node.process-node--restyled-equipment .process-node__symbol-layer,.process-node.process-node--restyled-equipment .process-node__dock-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.process-node.process-node--restyled-equipment .process-node__symbol{position:absolute;left:0;top:0;width:var(--process-symbol-width);height:var(--process-symbol-height);display:block;filter:drop-shadow(0 8px 12px rgba(20,35,46,.08))}.process-node.process-node--restyled-equipment.is-selected .process-node__symbol{filter:drop-shadow(0 0 12px rgba(204,111,44,.2)) drop-shadow(0 10px 14px rgba(20,35,46,.16))}.process-node.process-node--restyled-equipment.process-node--warning .process-node__symbol{filter:drop-shadow(0 0 1.5px var(--amber)) drop-shadow(0 0 1.5px var(--amber)) drop-shadow(0 0 8px color-mix(in srgb,var(--amber) 45%,transparent))}.process-node.process-node--restyled-equipment.process-node--error .process-node__symbol{filter:drop-shadow(0 0 1.5px var(--red)) drop-shadow(0 0 1.5px var(--red)) drop-shadow(0 0 8px color-mix(in srgb,var(--red) 45%,transparent))}.process-node.process-node--restyled-equipment.process-node--warning .process-node__caption-label{color:var(--amber-ink)}.process-node.process-node--restyled-equipment.process-node--error .process-node__caption-label{color:var(--red)}.process-node.process-node--restyled-equipment .process-node__caption{position:absolute;left:var(--process-caption-x);top:var(--process-caption-top);width:max-content;max-width:260px;display:grid;justify-items:var(--process-caption-justify, center);gap:1px;pointer-events:none;transform:translate(calc(var(--process-caption-align-shift, -50%) + var(--process-caption-offset-x, 0px)),var(--process-caption-offset-y, 0px))}.process-node.process-node--restyled-equipment .process-node__caption-drag-handle{position:absolute;top:var(--process-caption-top);left:var(--process-caption-center);width:10px;height:10px;margin-top:16px;background:#f5b441;border:1.4px solid #6b4a0e;box-shadow:0 1px 3px #14232e3d;transform:translate(calc(-50% + var(--process-caption-offset-x, 0px)),calc(-50% + var(--process-caption-offset-y, 0px))) rotate(45deg);transform-origin:center;cursor:grab;pointer-events:auto;z-index:8}.process-node.process-node--restyled-equipment .process-node__caption-drag-handle.is-dragging{cursor:grabbing;background:#ffc963}.process-node.process-node--restyled-equipment .process-node__caption-label,.process-node.process-node--restyled-equipment .process-node__caption-meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.process-node.process-node--restyled-equipment .process-node__caption-label{color:var(--blk-ink);font-size:.84rem;font-weight:700;letter-spacing:-.01em}.process-node.process-node--restyled-equipment .process-node__caption-meta{color:var(--blk-ink);font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.82}.process-node.process-node--restyled-equipment .process-node__actions{position:absolute;top:0;right:6px;display:flex;gap:6px;z-index:7}.process-node.process-node--restyled-equipment .process-node__action{display:grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid rgba(29,43,54,.16);border-radius:999px;background:#ffffffeb;color:#315063;box-shadow:0 5px 10px #14232e14;cursor:pointer;pointer-events:auto}.process-node.process-node--restyled-equipment .process-node__action:hover{background:#fff;color:#203b4a}.process-node.process-node--restyled-equipment .process-node__action--danger{color:#91463a}.process-node.process-node--restyled-equipment .process-node__action--danger:hover{color:#7b3027}.process-node.process-node--restyled-equipment .process-node__action svg{width:11px;height:11px}.process-node.process-node--restyled-equipment .react-flow__handle{width:6px;height:6px;border:0;border-radius:999px;background:transparent;box-shadow:none;opacity:0}.process-node.process-node--restyled-equipment .process-node__dock{position:absolute;z-index:4;width:0;height:0;pointer-events:none;--process-dock-dot-size: 10px}.process-node.process-node--restyled-equipment .process-node__dock-dot{position:absolute;left:0;top:0;width:var(--process-dock-dot-size);height:var(--process-dock-dot-size);box-sizing:border-box;border:1.6px solid var(--blk-ink);border-radius:999px;background:#fffffff7;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #1c2d3a1f}.process-node.process-node--restyled-equipment.process-node--context-canvas .process-node__dock--connected .process-node__dock-dot{border:2px solid rgba(255,255,255,.98);background:var(--blk-ink);box-shadow:0 0 0 1px #1c2d3a24}.process-node.process-node--restyled-equipment.process-node--context-canvas .process-node__dock--unconnected .process-node__dock-dot{border:2px solid #d07b2c;background:#fffffffc;box-shadow:0 0 0 1px #d07b2c1a}.process-node.process-node--restyled-equipment .process-node__port-label{position:absolute;max-width:112px;padding:3px 7px;border:1px solid rgba(28,45,58,.14);border-radius:7px;background:#fbfdfef5;color:#335062;font-size:.62rem;font-weight:700;line-height:1.1;letter-spacing:.01em;white-space:nowrap;pointer-events:none;z-index:6}.process-node.process-node--restyled-equipment .process-node__port-label--in{color:#2a6579}.process-node.process-node--restyled-equipment .process-node__port-label--out{color:#915c20}.process-node.process-node--restyled-equipment .process-node__dock--ring{--process-dock-dot-size: 14px;z-index:0}.process-node.process-node--restyled-equipment .process-node__dock--ring .process-node__dock-dot,.process-node.process-node--restyled-equipment.process-node--context-canvas .process-node__dock--ring.process-node__dock--connected .process-node__dock-dot{border:1.2px solid var(--blk-ink);background:transparent;box-shadow:none}.process-node.process-node--restyled-equipment.process-node--context-canvas .process-node__dock--ring.process-node__dock--unconnected .process-node__dock-dot{border:1.2px solid #d07b2c;background:transparent;box-shadow:none}.process-node.process-node--restyled-equipment .process-node__placeholder{box-sizing:border-box;width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:2px;border:1.2px dashed var(--blk-ink);background:var(--blk-paper);color:var(--blk-ink);font-size:.62rem;text-align:center}.process-node.process-node--restyled-equipment .process-node__placeholder code{font-size:.56rem;overflow-wrap:anywhere;padding-inline:4px}@media(max-width:1100px){.process-node.process-node--restyled-equipment .process-node__caption-label{font-size:.68rem}.process-node.process-node--restyled-equipment .process-node__caption-meta{font-size:.52rem}}.em-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1dvh 1vw;background:color-mix(in srgb,var(--ink) 22%,transparent)}.em-backdrop[data-depth=nested]{z-index:61;background:color-mix(in srgb,var(--ink) 12%,transparent)}.em-dialog{position:relative;container:em / inline-size;display:flex;flex-direction:column;width:98vw;height:98vh;height:98dvh;background:var(--paper);border:1px solid var(--ink-3);color:var(--ink);font:12px/1.35 var(--font-ui);outline:none}.em-dialog[data-depth=nested]{width:calc(98vw - 40px);height:calc(98vh - 28px);height:calc(98dvh - 28px);margin:28px 0 0 40px}.em-dialog :where(button,input,select,textarea){font:inherit;color:inherit}.em-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:60px;background:color-mix(in srgb,var(--paper) 72%,transparent);font:11px var(--font-mono);color:var(--ink-3)}.em-head{position:relative;display:flex;align-items:center;gap:10px;flex:none;height:34px;padding:0 8px 0 12px;border-bottom:1px solid var(--line)}.em-eyebrow{font:500 10px var(--font-mono);letter-spacing:.08em;color:var(--amber);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.em-title{flex:0 1 300px;min-width:80px;padding:2px 4px;border:1px solid transparent;background:none;font:600 13px var(--font-ui);color:var(--ink-2)}input.em-title:hover{border-color:var(--line-2)}input.em-title:focus{border-color:var(--amber);outline:none}.em-variant{font:11px var(--font-mono);color:var(--muted-strong);white-space:nowrap}.em-readonly{font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-strong);border:1px solid var(--line-2);padding:1px 6px;white-space:nowrap}.em-ext-readonly{border:0;margin:0;padding:0;min-width:0}.em-spacer{flex:1}.em-state{display:inline-flex;gap:8px;align-items:baseline;font:11px var(--font-mono);white-space:nowrap}.em-state b{font-weight:500}.em-state[data-state=solved] b{color:var(--cyan)}.em-state[data-state=stale] b,.em-state[data-state=warning] b{color:var(--amber-ink)}.em-state[data-state=error] b{color:var(--red)}.em-state[data-state=unsolved] b{font-weight:400;color:var(--muted-2)}.em-state__counts{color:var(--muted-strong)}.em-btn{height:22px;padding:0 8px;border:1px solid var(--line);background:var(--paper);font:11px var(--font-mono);color:var(--ink-3);cursor:pointer}.em-btn:hover{border-color:var(--ink-3)}.em-btn:focus-visible,.em-index__item:focus-visible{outline:1px solid var(--amber);outline-offset:-1px}.em-menu-anchor{position:relative}.em-menu{position:absolute;top:26px;right:0;z-index:3;min-width:220px;padding:2px 0;border:1px solid var(--ink-3);background:var(--paper)}.em-menu button{display:block;width:100%;padding:4px 10px;border:0;background:none;text-align:left;cursor:pointer}.em-menu button:hover,.em-menu button:focus{background:var(--amber-soft);outline:none}.em-menu button:disabled{color:var(--muted-2);cursor:default}.em-body{display:grid;grid-template-columns:184px minmax(0,1fr);flex:1;min-height:0}.em-index{overflow:auto;padding:6px 0;border-right:1px solid var(--line);background:var(--paper-2)}.em-index__item{display:flex;align-items:baseline;gap:6px;width:100%;padding:3px 10px;border:0;border-left:2px solid transparent;background:none;text-align:left;color:var(--ink-3);cursor:pointer}.em-index__item:hover{background:var(--paper-3)}.em-index__item[aria-current=true]{border-left-color:var(--amber);background:var(--paper);color:var(--ink)}.em-index__item--sub{padding-left:22px;color:var(--muted-strong);font-size:11px}.em-index__n{min-width:18px;font:500 10px var(--font-mono);color:var(--amber)}.em-index__item--sub .em-index__n{min-width:24px;color:var(--muted-2)}.em-index__count{margin-left:auto;font:10px var(--font-mono);color:var(--muted-2)}.em-index__count--err{color:var(--red)}.em-index__count--warn{color:var(--amber-ink)}.em-main{display:flex;flex-direction:column;min-width:0;min-height:0}.em-scroll{flex:1;min-height:0;overflow:auto;outline:none}.em-desc{flex:none;min-height:40px;padding:4px 12px;border-top:1px solid var(--line);background:var(--paper-2);font:11px var(--font-mono);color:var(--ink-3)}.em-desc__title{margin-right:8px;font:600 12px var(--font-ui);color:var(--ink-2)}.em-desc__bits{color:var(--muted-strong)}.em-foot{display:flex;flex:none;gap:14px;align-items:center;height:22px;padding:0 12px;overflow:hidden;border-top:1px solid var(--line);background:var(--paper-2);font:10px var(--font-mono);color:var(--muted-strong);white-space:nowrap}.em-foot kbd{font:inherit;color:var(--ink-3)}.em-foot__msg{margin-left:auto;color:var(--amber-ink)}.em-grid{width:100%;border-collapse:collapse;table-layout:fixed}.em-sec,.em-subsec{min-width:0}.em-col-val{width:200px}.em-col-unit{width:74px}.em-col-org{width:62px}.em-sheet [data-row]{cursor:default}.em-grid td{height:22px;padding:0 8px;overflow:hidden;border-bottom:1px solid var(--line-3);text-align:left;text-overflow:ellipsis;white-space:nowrap}.em-cat,.em-sub{display:flex;align-items:center;padding:0 8px;overflow:hidden;white-space:nowrap}.em-cat{height:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-3);color:var(--ink-2)}.em-twist{display:inline-block;width:12px;font-family:var(--font-mono);color:var(--muted-strong)}.em-cat__n{display:inline-block;min-width:20px;font:600 11px var(--font-mono);color:var(--amber)}.em-cat__label{font:600 10px var(--font-ui);letter-spacing:.12em;text-transform:uppercase}.em-cat__note{margin-left:auto;font:10px var(--font-mono);color:var(--muted-strong)}.em-sub{height:20px;padding-left:14px;border-bottom:1px solid var(--line-3);background:var(--paper-2);font:500 11px var(--font-ui);color:var(--ink-3)}.em-sub__n{display:inline-block;min-width:30px;font:10px var(--font-mono);color:var(--muted-strong)}.em-name{padding-left:22px!important;color:var(--ink-3)}.em-mark{display:none;margin-left:6px;font:9px var(--font-mono);color:var(--muted-2)}.em-sym{margin-left:6px;font:11px var(--font-mono);color:var(--muted-strong)}.em-val{text-align:right!important;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink)}.em-val--text{font-family:var(--font-ui)}.em-unit{font:11px var(--font-mono);color:var(--muted-strong)}.em-org{font:10px var(--font-mono);color:var(--muted-2)}.em-org--ctrl{color:var(--amber)}.em-org--floor,.em-org--error{color:var(--red)}.em-org--warning{color:var(--amber-ink)}.em-org--info{color:var(--muted-strong)}.em-prop--ro .em-val{color:var(--ink-3)}.em-prop--edit .em-val{cursor:text}.em-prop--edit:hover .em-val{background:var(--paper-2)}.em-prop--default .em-val,.em-prop--stale .em-val{color:var(--muted-strong)}.em-prop--ctrl .em-val{color:var(--amber-ink)}.em-grid tr[aria-selected=true]>td,.em-sheet div[aria-selected=true]{background:var(--amber-soft)}.em-grid tr[aria-selected=true]>td:first-child,.em-sheet div[aria-selected=true]{box-shadow:inset 2px 0 0 var(--amber)}.em-more td{padding-left:22px;font:11px var(--font-mono);color:var(--muted-strong);cursor:pointer}.em-diag td{height:auto;padding-top:3px;padding-bottom:3px;white-space:normal}.em-diag code{display:block;font:10px var(--font-mono);color:var(--muted-strong)}.em-host{min-width:0;overflow-x:auto;border-bottom:1px solid var(--line-2)}.em-input{width:100%;height:18px;padding:0 4px;border:1px solid var(--amber);border-radius:0;background:var(--paper);outline:none}.em-input--num{text-align:right;font-family:var(--font-mono)}.em-dt{width:100%;border-collapse:collapse;table-layout:auto}.em-dt th{height:20px;padding:0 8px;border-bottom:1px solid var(--line-2);background:var(--paper);font:10px var(--font-ui);letter-spacing:.08em;text-align:left;text-transform:uppercase;color:var(--muted-strong)}.em-dt th .em-unit{font-size:10px;letter-spacing:0;text-transform:none}.em-dt td{height:22px;padding:0 8px;border-bottom:1px solid var(--line-3);white-space:nowrap}.em-dt .em-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.em-dt .em-dt__first{padding-left:22px}.em-dt__link{cursor:pointer}.em-dt__link:hover td{background:var(--paper-2)}.em-dt__action{width:24px;text-align:center}.em-dt--field{width:auto;margin:0 0 2px}.em-mono{font-family:var(--font-mono)}.em-cell{width:100%;min-width:90px;height:18px;padding:0 4px;border:1px solid transparent;border-radius:0;background:var(--paper)}.em-cell--num{text-align:right;font-family:var(--font-mono)}.em-cell:hover{border-color:var(--line-2)}.em-cell:focus{border-color:var(--amber);outline:none}.em-cell:disabled{background:transparent;color:var(--ink-3)}.em-link{padding:2px 0;border:0;background:none;font:10px var(--font-mono);color:var(--muted-strong);cursor:pointer}.em-link:hover{color:var(--ink)}.em-col-act{width:56px}.em-eg td.em-eg__act{padding:0 4px;text-align:right;overflow:visible}.em-eg__head td{height:20px;padding:0 8px 0 22px;border-bottom:1px solid var(--line-3);background:var(--paper-2);font:500 11px var(--font-ui);color:var(--ink-3)}.em-eg__head td.em-eg__act{padding:0 4px}.em-eg__note{margin-left:10px;font:10px var(--font-mono);color:var(--muted-strong)}.em-eg__note--warn,.em-eg__row--warn .em-val,.em-eg__line--warn td{color:var(--amber-ink)}.em-eg__line td{padding-left:22px;font:11px var(--font-mono);color:var(--muted-strong)}.em-eg__line--muted td{color:var(--muted-2)}.em-eg .em-name{padding-left:calc(22px + var(--em-depth, 0) * 14px)!important}.em-eg .em-val{padding:0 2px}.em-eg .em-cell{min-width:0;font-variant-numeric:tabular-nums}.em-eg select.em-cell,.em-eg__toggle{text-align:right;text-align-last:right;cursor:pointer}.em-eg__toggle{font-family:var(--font-ui)}.em-eg__idx{display:inline-block;min-width:18px;margin-right:4px;font:10px var(--font-mono);color:var(--muted-strong)}.em-eg__btn{min-width:14px;padding:0 3px;font-size:11px}.em-eg__btn:disabled{color:var(--muted);cursor:default}.em-eg__add{field-sizing:content;max-width:100%;height:18px;padding:0 2px;border:1px solid transparent;border-radius:0;background:transparent;font:10px var(--font-mono);color:var(--muted-strong);cursor:pointer}.em-eg__add:hover,.em-eg__add:focus{border-color:var(--line-2);color:var(--ink);outline:none}.em-ext__line{margin:0;padding:4px 8px 4px 22px;font:11px var(--font-mono);color:var(--muted-strong)}.em-chart{margin:6px 8px 6px 22px;border:1px solid var(--line-2)}.gas-line+.gas-line{border-top:1px solid var(--line-2)}.gas-line__chart-toggle{display:block;padding:3px 8px 3px 22px;border:0;background:none;font:11px var(--font-mono);color:var(--muted-strong);cursor:pointer}.gas-line-chart{margin:4px 8px 8px 22px;border:1px solid var(--line-2)}.gas-line-chart__error,.gas-line-chart__issues{margin:0;padding:2px 8px;list-style:none;font:11px var(--font-mono);color:var(--amber-ink)}.gas-line-chart__issues .is-error,.gas-line-chart__error{color:var(--red)}.gas-booster-curve{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:12px;align-items:start;padding:0 8px 8px 0}.gas-booster-curve__table{width:100%}.gas-booster-curve__table .em-cell{min-width:0}.gas-booster-curve__plot{margin-top:6px;border:1px solid var(--line-2)}.wall-stack{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:8px;align-items:start}.wall-stack__preview{width:132px;margin:6px 8px 6px 0}.wall-stack__core{fill:var(--paper-3);stroke:var(--line-2)}.wall-stack__swatch{display:inline-block;width:8px;height:8px;margin-right:6px}.port-layout-editor{display:flex;justify-content:center;align-items:center;margin:6px 8px 8px 22px;padding:6px;border:1px solid var(--line-2);overflow:auto;touch-action:none}.port-layout-editor .blk-overlay-handle:focus-visible{outline:none;stroke-width:2.4px}.reducer-result-explorer__strip{display:grid;grid-auto-columns:minmax(34px,1fr);grid-auto-flow:column;gap:2px;margin:6px 8px 0 22px;overflow-x:auto}.reducer-result-explorer__segment-button{height:22px;padding:0 4px;border:1px solid var(--line-2);background:var(--paper);font:10px var(--font-mono);color:var(--ink-3);cursor:pointer}.reducer-result-explorer__segment-button--selected{border-color:var(--amber);background:var(--amber-soft);color:var(--ink)}.reducer-segment-projection{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:start}.reducer-segment-projection__svg{grid-column:2;grid-row:1;width:130px;margin:6px 8px}.reducer-segment-projection__svg :is(circle,path,g){cursor:pointer}.reducer-segment-projection__zone--wall{fill:var(--ink-3)}.reducer-segment-projection__zone--refractory{fill:var(--line)}.reducer-segment-projection__zone--gas{fill:color-mix(in srgb,var(--chart-1) 30%,var(--paper))}.reducer-segment-projection__zone--bed-solid{fill:color-mix(in srgb,var(--chart-2) 45%,var(--paper))}.reducer-segment-projection__zone--entrained-dust{fill:var(--ink-2)}.reducer-result-explorer__plot{margin:6px 8px 8px 22px;border:1px solid var(--line-2)}@container em (max-width: 719px){.em-head{flex-wrap:wrap;height:auto;min-height:34px;padding:4px 8px 4px 12px;row-gap:4px}.em-eyebrow{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere}.em-title{flex:1 1 160px}.em-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.em-index{display:flex;gap:0;padding:0;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none}.em-index>div{display:contents}.em-index__item{flex:none;width:auto;padding:4px 10px;border-left:0;border-bottom:2px solid transparent;white-space:nowrap}.em-index__item[aria-current=true]{border-bottom-color:var(--amber)}.em-index__item--sub{display:none}.em-col-val{width:38%}.em-col-unit{width:52px}.em-col-org{width:0}.em-grid td.em-org{padding:0;font-size:0}.em-grid td{padding:0 6px}.em-name{height:auto!important;padding:2px 6px 2px 10px!important;white-space:normal!important}.em-name__text{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:anywhere}.em-mark{display:inline;margin-left:0}.em-sub,.em-dt .em-dt__first,.em-more td,.em-eg__head td,.em-eg__line td,.em-ext__line{padding-left:10px}.em-eg .em-name{padding-left:calc(10px + var(--em-depth, 0) * 8px)!important}.em-chart,.gas-line-chart{margin-left:10px}.em-col-act{width:44px}.gas-booster-curve,.wall-stack,.reducer-segment-projection{grid-template-columns:minmax(0,1fr)}.gas-booster-curve__plot,.reducer-result-explorer__plot,.reducer-result-explorer__strip{margin-left:10px}.wall-stack__preview,.reducer-segment-projection__svg{display:none}.port-layout-editor{margin-left:10px}.em-foot>span:not(.em-foot__msg){display:none}}.em-eg .em-eg__row--stacked>td{height:auto;padding-top:4px;border-bottom:0}.em-eg .em-eg__stack>td.em-val{height:auto;padding:0 6px 4px calc(10px + var(--em-depth, 0) * 8px)}.em-eg .em-eg__stack select.em-cell{text-align:left;text-align-last:left}html[data-layout=compact] .em-backdrop{bottom:var(--kb);padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);align-items:stretch}html[data-layout=compact] .em-dialog{width:100%;height:100%;max-height:none;margin:0;border:0}.em-back{display:none}html[data-layout=compact] .em-back{display:inline-block;flex:0 1 auto;max-width:45%;min-height:var(--hit);padding:0 8px 0 0;overflow:hidden;border:0;background:none;font:500 13px var(--font-ui);color:var(--amber-ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}html[data-input=touch] .em-head{height:auto;min-height:var(--hit)}html[data-input=touch] :is(.em-btn,.em-menu button,.em-index__item){min-height:var(--hit)}html[data-input=touch] .em-index__item{align-items:center}html[data-input=touch] .em-close{min-width:var(--hit);font-size:16px}html[data-input=touch] .em-hotkey,html[data-input=touch] .em-foot>span:not(.em-foot__msg){display:none}html[data-input=touch] .em-foot:not(:has(.em-foot__msg)){display:none}html[data-input=touch] :is(.em-grid td,.em-more td,.em-cat,.em-sub){height:var(--hit)}html[data-input=touch] :is(.em-input,.em-cell){height:auto;min-height:var(--hit)}.em-editrow>td{height:auto!important;padding:4px 6px 6px 10px!important;background:var(--amber-soft);white-space:normal!important}.em-edit{display:flex;gap:4px;align-items:stretch}.em-edit>.em-input{flex:1 1 auto;min-width:0}.em-keys{display:flex;flex:none;gap:4px}.em-key{min-width:var(--hit);min-height:var(--hit);padding:0 6px;border:1px solid var(--line-2);background:var(--paper);font:500 16px var(--font-mono);color:var(--ink-2);cursor:pointer}html[data-layout=compact] .em-eyebrow{flex:1 1 0;order:1}html[data-layout=compact] .em-close{order:2}html[data-layout=compact] .em-head>:not(.em-back,.em-eyebrow,.em-close){order:3}html[data-layout=compact] .em-head:after{content:"";flex:0 0 100%;order:2;height:0}html[data-layout=compact] .em-head{flex-wrap:wrap;row-gap:0;height:auto;padding:2px 4px 2px 12px}.port-layout__orientation{display:inline-flex;align-items:center;gap:4px}.port-layout__orientation .em-eg__toggle{min-width:28px;text-align:center;text-align-last:center}.port-layout__orientation .em-eg__toggle:disabled{cursor:not-allowed;opacity:.4}.port-layout__orientation-readout{margin-left:6px;font:400 11px var(--font-mono);color:var(--muted-strong)}.reaction-sections .em-eg__line td{white-space:normal;overflow-x:auto;text-overflow:clip}.reaction-sections .em-eg__row[data-rkey],.reaction-sections .em-eg__head[data-rkey]{outline:none}.reaction-sections .em-eg__row[data-rkey]:focus-visible,.reaction-sections .em-eg__head[data-rkey]:focus-visible{outline:1px solid var(--ink);outline-offset:-1px;background:var(--paper-3)}.reaction-sections .em-eg__head[data-rkey]:focus-visible>td{background:var(--paper-3)}.reaction-sections .em-eg__text{cursor:pointer}.em-eg__grip{display:inline-block;margin-right:4px;color:var(--muted-strong);font-size:11px;letter-spacing:-2px;line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.em-eg__grip:active{cursor:grabbing}.em-eg__fold{display:inline-block;min-width:14px;margin-right:2px;padding:0;border:0;background:none;color:var(--muted-strong);font-size:10px;cursor:pointer}.em-eg__count{margin-left:8px;font:10px var(--font-mono);color:var(--muted-strong)}.em-eg__row--dragging{opacity:.45}.em-eg__row--drop-before>td{background:linear-gradient(var(--ink),var(--ink)) top / 100% 2px no-repeat}.em-eg__row--drop-after>td{background:linear-gradient(var(--ink),var(--ink)) bottom / 100% 2px no-repeat}.em-eg__head.em-eg__row--drop-before>td{background:linear-gradient(var(--ink),var(--ink)) top / 100% 2px no-repeat,var(--paper-2)}.em-eg__drop-end>td{height:2px;padding:0;background:var(--ink)}@media(pointer:coarse){.em-eg__grip{padding:6px 8px 6px 0;font-size:14px}.em-eg__fold{min-width:24px;min-height:24px}}.em-et th{height:20px;padding:0 6px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--paper-2);font:500 10px var(--font-ui);letter-spacing:.04em;color:var(--muted-strong);text-align:left;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.em-et th.em-et__num{text-align:right}.em-et__unit{margin-left:4px;font:10px var(--font-mono);text-transform:none;color:var(--muted-2)}.em-et td{padding:0 2px;font:12px var(--font-ui)}.em-et td.em-et__text{padding:0 6px;color:var(--ink-3)}.em-et td.em-et__num{padding:0 6px;text-align:right;font:12px var(--font-mono)}.em-et .em-cell{min-width:0;font-variant-numeric:tabular-nums}.em-et select.em-cell{cursor:pointer}.em-et td.em-et__act{padding:0 4px;overflow:visible;text-align:right}.em-et__empty td{padding-left:8px;font:11px var(--font-mono);color:var(--muted-2)}.em-et__detail td{height:auto;padding:4px 8px 6px 22px;background:var(--paper-2);white-space:normal}.em-et__detail--warn td,.em-et__row--warn td{color:var(--amber-ink)}.message-popover{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;width:min(320px,calc(100vw - 16px));height:min(380px,70vh);border:1px solid var(--ink-3);border-top:2px solid var(--amber);background:var(--paper);color:var(--ink-3);font:12px var(--font-ui)}.message-popover__head{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:700}.message-popover__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-popover__error,.message-popover__failed{color:var(--red);font:700 12px var(--font-mono)}.message-popover__close,.message-popover__failed{min-width:24px;min-height:24px;padding:0;border:0;background:none;color:inherit;font:16px/1 var(--font-ui);cursor:pointer}.message-popover__failed{min-width:16px;min-height:16px;font:700 12px var(--font-mono);color:var(--red)}.message-popover__close:hover,.message-popover__close:focus-visible{color:var(--ink);background:var(--paper-2)}.message-popover__list{flex:1;display:flex;flex-direction:column;gap:4px;padding:8px 10px;overflow-y:auto;background:var(--paper-2)}.message-popover__row{display:flex;align-items:center;gap:4px}.message-popover__row.is-own{justify-content:flex-end}.message-popover__bubble{max-width:85%;padding:4px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.is-own .message-popover__bubble{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-ink)}.message-popover__bubble.is-sending{opacity:.6}.message-popover__composer{box-sizing:border-box;min-height:32px;max-height:96px;resize:none;padding:7px 10px;border:0;border-top:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit}.message-popover__composer:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}.cowork-follow-banner{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:10000;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:3px 4px 3px 10px;border:1px solid var(--line);border-top:2px solid var(--amber);background:var(--paper);color:var(--ink);font:500 11px var(--font-mono);white-space:nowrap}.cowork-follow-banner__dot{width:8px;height:8px;border-radius:50%;flex:none}.cowork-follow-banner__stop{padding:2px 8px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.cowork-follow-banner__stop:disabled{opacity:.6;cursor:default}.cowork-follow-banner__stop:hover:not(:disabled){background:var(--amber-soft)}.cowork-follow-outline{position:fixed;z-index:9998;overflow:hidden;pointer-events:none}.cowork-follow-outline__rect{position:absolute;box-sizing:border-box;border:1px dashed var(--amber);opacity:.55}.cowork-cursor{position:fixed;top:0;left:0;z-index:10001;pointer-events:none;will-change:transform}.cowork-cursor__arrow{display:block}.cowork-cursor__chip{position:absolute;top:14px;left:10px;padding:1px 5px;font:600 10px var(--font-mono);white-space:nowrap}.coedit-prompt{position:fixed;top:max(52px,env(safe-area-inset-top));right:16px;z-index:10000;display:flex;flex-direction:column;gap:4px;max-width:calc(100vw - 32px);padding:6px 8px;border:1px solid var(--line);border-top:2px solid var(--amber);background:var(--paper);color:var(--ink);font:500 11px var(--font-mono)}.coedit-prompt__row{display:flex;align-items:center;gap:8px;white-space:nowrap}.coedit-prompt__name{overflow:hidden;text-overflow:ellipsis}.coedit-prompt__button{padding:2px 8px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:600 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.coedit-prompt__button:hover,.coedit-prompt__button.is-primary{background:var(--amber-soft)}.cowork-presence{position:relative;display:inline-flex;align-items:center;height:100%;padding:0 8px}.cowork-presence__stack{display:inline-flex;align-items:center;position:relative;padding:0;border:0;background:none;cursor:pointer}.cowork-presence__stack--compact{padding-right:18px}.cowork-presence__avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:26px;height:26px;margin-left:-8px;padding:0;border:2px solid var(--paper);border-radius:50%;font:600 10.5px var(--font-mono);letter-spacing:.02em;cursor:pointer}.cowork-presence__avatar:first-child{margin-left:0}.cowork-presence__avatar.is-followed{box-shadow:0 0 0 2px var(--amber)}.cowork-presence__avatar.is-editing{outline:1px dashed var(--ink);outline-offset:2px}.cowork-presence__avatar.is-editing.is-followed{box-shadow:0 0 0 2px var(--amber)}.cowork-presence__avatar:focus-visible,.cowork-presence__stack:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.cowork-presence__count{position:absolute;top:50%;right:0;z-index:2;min-width:22px;height:22px;box-sizing:border-box;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--paper);border-radius:999px;background:var(--ink);color:var(--paper);font:650 10px/1 var(--font-mono);transform:translateY(-50%)}.cowork-presence__panel{position:fixed;z-index:50;min-width:220px;max-width:min(320px,calc(100vw - 16px));max-height:60vh;overflow-y:auto;border:1px solid var(--ink-3);border-top:2px solid var(--amber);background:var(--paper);color:var(--ink-3);font:11px var(--font-ui)}.cowork-person{display:grid;gap:6px;padding:8px 10px}.cowork-person+.cowork-person{border-top:1px solid var(--line)}.cowork-person__head{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700}.cowork-person__dot{width:10px;height:10px;border-radius:50%;flex:none}.cowork-person__tab{display:flex;align-items:center;justify-content:space-between;gap:8px}.cowork-person__where{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cowork-person__actions{display:flex;gap:6px}.cowork-person__button{min-height:24px;padding:0 8px;border:1px solid var(--ink-3);background:var(--paper);color:var(--ink-3);font:inherit;cursor:pointer}.cowork-person__button:hover,.cowork-person__button:focus-visible{background:var(--paper-2);color:var(--ink)}.cowork-person__button.is-active{background:var(--amber-soft);color:var(--amber-ink);border-color:var(--amber)}.cowork-presence__unread{position:absolute;top:-6px;right:-6px;min-width:14px;height:14px;box-sizing:border-box;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--red);color:var(--paper);font:650 9px/1 var(--font-mono)}.cowork-presence__unread.is-inline{position:static}.cowork-presence__dot{width:10px;height:10px;margin-left:6px;padding:0;border:0;border-radius:50%;background:var(--red);cursor:pointer}.cowork-presence__dot:focus-visible,.cowork-presence__sender:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.cowork-presence__sender{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:0;background:none;color:var(--ink);font:700 11px var(--font-ui);text-align:left;cursor:pointer}.cowork-presence__sender:hover{background:var(--paper-2)}.topbar-menu{position:relative;display:flex;align-items:stretch;height:100%}.topbar-menu{border-right:1px solid var(--line)}.topbar-menu--status{border-right:0}.topbar-menu .v2-topbar__chip{background:var(--paper-2);font-weight:700;letter-spacing:.08em;color:var(--ink)}.topbar-menu .v2-topbar__chip:hover,.topbar-menu .v2-topbar__chip.is-open{background:var(--amber-soft);color:var(--ink)}.topbar-menu .v2-topbar__status{padding:0}.topbar-menu .v2-topbar__status:hover .v2-metric,.topbar-menu .v2-topbar__status.is-open .v2-metric{background:var(--paper-2)}.topbar-menu__caret{font-size:9px;opacity:.6}.topbar-menu__label{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.topbar-menu__label b{overflow:hidden;max-width:180px;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.topbar-menu__heading{padding:8px 12px 2px;color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.topbar-menu__nested{display:grid;max-height:168px;overflow-y:auto;border-block:1px solid var(--line)}.topbar-menu__nested .topbar-menu__entry,.topbar-menu__nested .app-sheet__item{padding-left:22px}.topbar-menu__link{color:var(--amber-ink);text-decoration:underline}.topbar-menu__static{color:var(--muted);cursor:default}.topbar-menu__entry.is-danger,.app-sheet__item.is-danger{color:var(--red)}.topbar-menu__entry:disabled,.app-sheet__item:disabled{opacity:.45;cursor:default}.topbar-menu__panel .view-menu__body{border-top:1px solid var(--line)}.topbar-menu .v2-topbar__menu-item{gap:6px}.topbar-menu .v2-topbar__menu-item.is-open{background:var(--amber-soft);color:var(--amber-ink)}.topbar-menu__panel{position:fixed;z-index:50;min-width:180px;max-width:calc(100vw - 16px);max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--ink-3);border-top:2px solid var(--amber);background:var(--paper);color:var(--ink-3);font:11px var(--font-ui)}.topbar-menu__list{display:grid;margin:0;padding:0;list-style:none}.topbar-menu__entry{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 12px 0 8px;border:0;background:none;color:var(--ink-3);font:inherit;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer}.topbar-menu__entry:hover,.topbar-menu__entry:focus-visible{background:var(--paper-2);color:var(--ink)}.topbar-menu__entry.is-current{color:var(--ink);font-weight:700}.topbar-menu__tick{width:12px;color:var(--amber)}.view-menu__panel{position:fixed;z-index:50;width:400px;max-width:calc(100vw - 16px);max-height:calc(100vh - 56px);max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--ink-3);border-top:2px solid var(--amber);background:var(--paper);color:var(--ink-3);font:11px var(--font-ui);-webkit-user-select:none;user-select:none}.view-menu__body{display:grid}.view-menu__section{display:grid;gap:6px;padding:10px 12px 12px;border-bottom:1px solid var(--line-2)}.view-menu__section:last-child{border-bottom:0}.view-menu__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:2px}.view-menu__eyebrow{font:700 10px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.view-menu__hint{margin:0;font-size:10px;color:var(--muted-strong)}.view-menu__link{padding:0;border:0;background:none;font:10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);cursor:pointer}.view-menu__link:hover:not(:disabled),.view-menu__link:focus-visible{color:var(--amber-ink);text-decoration:underline;outline:none}.view-menu__link:disabled{color:var(--muted-2);cursor:default}.view-menu__toggle{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:10px;padding:3px 0;cursor:pointer}.view-menu__toggle input{position:absolute;opacity:0;pointer-events:none}.view-menu__switch{position:relative;width:26px;height:14px;border:1px solid var(--line);background:var(--paper-3)}.view-menu__switch:after{content:"";position:absolute;top:2px;left:2px;width:8px;height:8px;background:var(--muted-2);transition:left .12s ease,background-color .12s ease}.view-menu__toggle input:checked+.view-menu__switch{border-color:var(--amber);background:var(--amber-soft)}.view-menu__toggle input:checked+.view-menu__switch:after{left:14px;background:var(--amber)}.view-menu__toggle input:focus-visible+.view-menu__switch{outline:1px solid var(--amber);outline-offset:2px}.view-menu__toggle:hover .view-menu__toggle-label{color:var(--ink)}.view-menu__toggle-text{display:grid;gap:1px}.view-menu__toggle-label{font-size:12px;color:var(--ink-2)}.view-menu__segmented{display:flex;flex-wrap:wrap;gap:0}.view-menu__segmented--fill .view-menu__segment{flex:1 1 0}.view-menu__segment{min-width:34px;height:22px;margin:0 -1px -1px 0;padding:0 7px;border:1px solid var(--line);background:var(--paper);font:11px var(--font-mono);color:var(--ink-3);white-space:nowrap;cursor:pointer}.view-menu__segment:hover:not(:disabled){position:relative;z-index:1;border-color:var(--ink-3);color:var(--ink)}.view-menu__segment:focus-visible{position:relative;z-index:2;outline:1px solid var(--amber);outline-offset:0}.view-menu__segment[aria-checked=true],.view-menu__segment[aria-pressed=true]{position:relative;z-index:1;border-color:var(--amber);background:var(--amber-soft);color:var(--amber-ink);font-weight:600}.view-menu__segment[aria-pressed=mixed]{position:relative;z-index:1;border-style:dashed;border-color:var(--amber);color:var(--amber-ink)}.view-menu__segment:disabled{color:var(--muted-2);cursor:default}.display-units{display:grid;grid-template-columns:minmax(96px,auto) 1fr;gap:6px 10px;align-items:center}.display-units__row{display:contents}.display-units__kind{font-size:11px;color:var(--ink-3)}.app-sheet .view-menu__section{padding:8px 0 10px}html[data-input=touch] .view-menu__segment{height:max(var(--hit),28px)}html[data-input=touch] .view-menu__toggle{min-height:var(--hit)}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-ext-BIM06flf.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-Buze_B52.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-greek-D3oMJlXt.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-vietnamese-BehTv68k.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-ext-BIM06flf.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-Buze_B52.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-greek-D3oMJlXt.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-vietnamese-BehTv68k.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-ext-BIM06flf.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-Buze_B52.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-greek-D3oMJlXt.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-vietnamese-BehTv68k.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-ext-BIM06flf.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/jetbrains-mono-cyrillic-Buze_B52.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/jetbrains-mono-greek-D3oMJlXt.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/jetbrains-mono-vietnamese-BehTv68k.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-DIC32ArD.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/jetbrains-mono-latin-6fWv1k7M.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #ffffff;--paper-2: #f6f7f9;--paper-3: #eff1f4;--line: #d8dce4;--line-2: #e7eaf0;--line-3: #eef0f4;--ink: #0b1220;--ink-2: #1a2230;--ink-3: #384152;--muted-strong: #6b7486;--muted-2: #9aa1b1;--amber: #c77a0a;--amber-soft: #fdecd0;--amber-ink: #7a4c0a;--cyan: #0e7a8a;--cyan-soft: #d4ecef;--red: #b4232c;--red-soft: #fbe3e4;--green: #2f7d4a;--phase-gas: #c77a0a;--phase-solid: #7a5a1a;--phase-off: #8a93a4;--stream-ramp-thermal-0: #2c5aa0;--stream-ramp-thermal-1: #0e7a8a;--stream-ramp-thermal-2: #7f9a3c;--stream-ramp-thermal-3: #c77a0a;--stream-ramp-thermal-4: #b4232c;--stream-ramp-viridis-0: #440154;--stream-ramp-viridis-1: #3b528b;--stream-ramp-viridis-2: #21918c;--stream-ramp-viridis-3: #5ec962;--stream-ramp-viridis-4: #c8b40c;--stream-ramp-ocean-0: #9cc3d9;--stream-ramp-ocean-1: #5a9cc2;--stream-ramp-ocean-2: #2f76a8;--stream-ramp-ocean-3: #1b4f82;--stream-ramp-ocean-4: #0b2a55;--stream-ramp-mono-0: #f0cf92;--stream-ramp-mono-1: #dfa446;--stream-ramp-mono-2: #c77a0a;--stream-ramp-mono-3: #8f5207;--stream-ramp-mono-4: #4a2a04;--chart-1: #0e7a8a;--chart-2: #c77a0a;--chart-3: #3b5f9e;--chart-4: #b4232c;--chart-5: #2f7d4a;--chart-6: #7a5a1a;--chart-7: #6b4f9a;--chart-8: #384152;--chart-surface: var(--paper);--chart-ink: var(--ink);--chart-text: var(--ink-3);--chart-label: var(--muted-strong);--chart-axis: var(--line);--chart-grid: var(--line-3);--chart-guide: var(--muted-2);--chart-cursor: var(--amber);--blk-stroke-pipe-base: 2.2px;--blk-stroke-body-base: 1.6px;--blk-stroke-nozzle-base: 1.2px;--blk-stroke-detail-base: .8px;--blk-stroke-hatch-base: .6px;--blk-stroke-pipe: var(--blk-stroke-pipe-base);--blk-stroke-body: var(--blk-stroke-body-base);--blk-stroke-nozzle: var(--blk-stroke-nozzle-base);--blk-stroke-detail: var(--blk-stroke-detail-base);--blk-stroke-hatch: var(--blk-stroke-hatch-base);--blk-ink: var(--ink);--blk-paper: var(--paper);--blk-overlay: var(--muted-strong);--flow-wire-dash-animated: 6 4;--font-ui: "Inter", "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "IBM Plex Mono", "SF Mono", Menlo, Consolas, monospace;font-family:IBM Plex Sans,Aptos,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.investigate-workspace{position:relative;height:100%;min-height:0;background:var(--paper)}.investigate-toolbar{position:absolute;z-index:6;top:14px;left:14px;right:14px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.investigate-toolbar>*{pointer-events:auto}.investigate-toolbar>div:first-child{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-soft)}.investigate-toolbar__actions{display:flex;align-items:center;gap:8px}.investigate-toolbar__eyebrow{display:block;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.12em}.investigate-toolbar h2{margin:2px 0 0;font-size:16px;line-height:1.2;color:var(--ink)}.investigate-toolbar__button{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:11px;cursor:pointer;box-shadow:var(--shadow-soft)}.investigate-toolbar__button:hover{background:var(--paper-2)}.investigate-toolbar__button:disabled{cursor:default;opacity:.48}.investigate-toolbar__button span{min-width:18px;height:18px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:999px;color:var(--muted-strong)}.investigation-canvas{position:relative;height:100%;min-height:0}.investigation-marker-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.investigation-marker-overlay__links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.investigation-marker{position:absolute;width:34px;height:34px;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;pointer-events:auto;box-shadow:var(--shadow-soft);translate:-50% -50%}.investigation-marker:hover,.investigation-marker.is-active{border-color:var(--ink)}.investigation-marker.is-active{box-shadow:0 0 0 3px #2563eb29,var(--shadow-soft)}.investigation-marker.is-dragging{opacity:.94}.investigation-marker.is-snap{border-color:var(--accent-2);box-shadow:0 0 0 3px #2563eb33,var(--shadow-soft)}.investigation-marker.is-no-drop{border-style:dashed;border-color:var(--muted-strong);opacity:.72}.investigation-marker.is-readonly,.investigation-marker:disabled{cursor:default;box-shadow:none;opacity:.82}.investigation-marker--composition{border-color:var(--accent-2)}.investigation-marker--temperature{border-color:var(--amber)}.investigation-marker__symbol{font-family:var(--font-mono);font-size:11px;font-weight:800;line-height:1}.investigation-marker__number{position:absolute;right:-7px;top:-7px;min-width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:9px;font-weight:700;line-height:1}.investigation-split-link{stroke:var(--muted-strong);stroke-width:1.5;stroke-dasharray:4 4}.investigation-route-link{stroke:var(--ink-3);stroke-width:1.6;stroke-dasharray:6 5;opacity:.7;fill:none}.investigation-route-arrowhead{fill:none;stroke:var(--ink-3);stroke-width:1.3}.investigation-chip-row{position:absolute;display:flex;gap:4px;pointer-events:auto;translate:-50% 26px}.investigation-chip{height:22px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;cursor:pointer;box-shadow:var(--shadow-soft);white-space:nowrap}.investigation-chip:hover{color:var(--ink);border-color:var(--ink)}.investigation-chip--danger:hover{color:#b91c1c;border-color:#b91c1c}.investigate-toolbar__hint{font-family:var(--font-mono);font-size:11px;color:var(--muted-strong);padding:0 4px}.investigation-pick-banner{position:absolute;z-index:7;top:58px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:6px 12px;border:1px solid var(--amber);border-radius:6px;background:#fde68a47;color:var(--ink);font-family:var(--font-mono);font-size:11px;box-shadow:var(--shadow-soft)}.investigation-pick-banner button{height:22px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;cursor:pointer}.investigation-pick-banner button:hover{color:var(--ink);border-color:var(--ink)}.investigation-route-panel{position:absolute;z-index:6;top:64px;right:14px;width:276px;max-height:calc(100% - 84px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-soft)}.investigation-route-panel__header{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}.investigation-route-panel__header h3{margin:0;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted-strong)}.investigation-route-panel__count{font-family:var(--font-mono);font-size:10px;color:var(--muted-strong)}.investigation-route-panel__empty{margin:0;padding:12px;font-size:12px;line-height:1.5;color:var(--muted-strong)}.investigation-route-list{margin:0;padding:0;list-style:none;overflow-y:auto}.investigation-route-row{padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer}.investigation-route-row:last-child{border-bottom:none}.investigation-route-row:hover{background:var(--paper-2)}.investigation-route-row.is-selected{background:var(--paper-2);box-shadow:inset 2px 0 0 var(--accent-2)}.investigation-route-row.is-drag-source{opacity:.55;background:var(--paper-2);outline:1px dashed var(--accent-2);outline-offset:-1px}.investigation-route-row__main{display:flex;align-items:center;gap:8px}.investigation-route-row__grip{flex-shrink:0;color:var(--line);font-size:11px;line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:2px 1px}.investigation-route-row:hover .investigation-route-row__grip,.investigation-route-row.is-selected .investigation-route-row__grip{color:var(--muted-strong)}.investigation-route-row.is-drag-source .investigation-route-row__grip{cursor:grabbing}.investigation-route-row__badge{min-width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--accent-2);border-radius:999px;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--ink)}.investigation-route-row__label{flex:1;min-width:0;font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.investigation-route-row__remove{border:none;background:transparent;color:var(--muted-strong);font-size:15px;line-height:1;cursor:pointer;padding:0 2px;opacity:0;transition:opacity .12s ease}.investigation-route-row:hover .investigation-route-row__remove,.investigation-route-row.is-selected .investigation-route-row__remove{opacity:1}.investigation-route-row__remove:hover{color:#b91c1c}.investigation-route-row__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.investigation-route-row__temperature{min-width:0;font-family:var(--font-mono);font-size:10px;color:var(--muted-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.investigation-route-row__temperature.is-split{color:var(--amber)}.investigation-route-row__actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .12s ease}.investigation-route-row:hover .investigation-route-row__actions,.investigation-route-row.is-selected .investigation-route-row__actions{opacity:1}.investigation-route-row__actions button{height:20px;padding:0 6px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;cursor:pointer}.investigation-route-row__actions button:hover:enabled{color:var(--ink);border-color:var(--ink)}.investigation-route-row__actions button:disabled{opacity:.4;cursor:default}.investigation-route-panel__footer{padding:8px 10px;border-top:1px solid var(--line)}.investigation-route-panel__clear{width:100%;height:24px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;cursor:pointer}.investigation-route-panel__clear:hover{color:var(--ink);border-color:var(--ink)}.investigation-route-panel__clear.is-armed{color:#b91c1c;border-color:#b91c1c}.investigation-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;background:#0f172a6b}.investigation-modal__panel{width:min(1180px,calc(100vw - 48px));height:min(820px,calc(100vh - 48px));height:min(820px,calc(100dvh - 48px));background:var(--paper);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}.investigation-modal__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.investigation-modal__header h2{margin:0;font-size:15px;color:var(--ink)}.investigation-modal__header button{border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);font:inherit;padding:5px 10px;cursor:pointer}.investigation-modal__header-actions{display:flex;align-items:center;gap:12px}.investigation-modal__basis{display:flex;align-items:center;gap:4px}.investigation-modal__basis span{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-strong);margin-right:2px}.investigation-modal__basis button{height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px}.investigation-modal__basis button.is-active{border-color:var(--accent-2);color:var(--ink);background:var(--paper-2)}.investigation-modal__body{min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px;overflow:auto}.investigation-modal__notice{margin:0;padding:8px 12px;border:1px dashed var(--line);border-radius:6px;background:var(--paper-2);color:var(--muted-strong);font-size:12px}.investigation-axes{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2)}.investigation-axes__bounds{display:flex;align-items:center;gap:5px}.investigation-axes__bounds>span:first-child{font-family:var(--font-mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-strong)}.investigation-axes__bounds input{width:52px;height:24px;padding:0 6px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:11px;text-align:right}.investigation-axes__bounds input:focus{outline:none;border-color:var(--accent-2)}.investigation-axes__dash{color:var(--muted-strong)}.investigation-axes__unit{font-family:var(--font-mono);font-size:10px;color:var(--muted-strong)}.investigation-axes__presets{display:flex;gap:4px}.investigation-axes__presets button{height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;cursor:pointer}.investigation-axes__presets button:hover:enabled{color:var(--ink);border-color:var(--ink)}.investigation-axes__presets button:disabled{opacity:.4;cursor:default}.investigation-modal__notes{border:1px solid var(--line);border-radius:6px;background:var(--paper-2)}.investigation-modal__notes summary{padding:8px 12px;font-family:var(--font-mono);font-size:11px;color:var(--muted-strong);cursor:pointer;-webkit-user-select:none;user-select:none}.investigation-modal__notes[open] summary{border-bottom:1px solid var(--line)}.investigation-modal__notes .investigation-modal__messages{border:none;background:transparent}.investigation-modal__messages{margin:0;padding:8px 12px 8px 28px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink-3);font-size:12px}.investigation-modal__empty{padding:18px;color:var(--muted-strong)}.investigation-point-table{width:100%;border-collapse:collapse;font-size:12px}.investigation-point-table th,.investigation-point-table td{padding:7px 8px;border:1px solid var(--line);text-align:left;vertical-align:top}.investigation-point-table th{background:var(--paper-2);color:var(--muted-strong);font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.investigation-point-table tr.is-unresolved td{color:var(--muted-strong)}.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.smallcaps{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700;color:var(--muted-strong)}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;border:1px solid var(--line);background:var(--paper);color:var(--ink-3);border-radius:0}.v2-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:stretch;height:40px;margin-bottom:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-family:var(--font-mono);font-size:11px;-webkit-user-select:none;user-select:none}.app-shell--overview .v2-topbar{margin-bottom:0}.v2-topbar__chip{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--paper-2);border-right:1px solid var(--line);font-weight:700;letter-spacing:.08em;color:var(--ink)}.v2-topbar__chip-dim{opacity:.5}button.v2-topbar__chip{border:none;border-right:1px solid var(--line);font:inherit;font-weight:700;cursor:pointer}button.v2-topbar__chip:hover,button.v2-topbar__chip[aria-expanded=true]{background:var(--amber-soft)}.v2-topbar__menu-item{padding:0 10px;height:100%;display:flex;align-items:center;white-space:nowrap;color:var(--ink-3);background:none;border:0;font:inherit;font-size:11px;cursor:pointer}.v2-topbar__menu-item:hover{background:var(--paper-2);color:var(--ink)}.v2-topbar__metrics{margin-left:auto;display:flex;align-items:stretch}@keyframes v2-blink{50%{opacity:0}}.v2-topbar__solve{display:flex;align-items:center;gap:6px;padding:0 16px;border:0;border-left:1px solid var(--line);background:var(--amber);color:var(--paper);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.05em;cursor:pointer}.v2-topbar__solve:hover{background:var(--amber-ink)}.v2-topbar__solve:disabled{background:var(--muted-2);cursor:not-allowed}.v2-topbar__solve-hint{opacity:.75;font-weight:500}.v2-metric{display:flex;flex-direction:column;justify-content:center;padding:0 10px;border-left:1px solid var(--line);border-top:0;border-right:0;border-bottom:0;background:transparent;color:inherit;font-family:var(--font-mono);min-width:0;text-align:left}.v2-metric__label{font-size:9px;color:var(--muted-strong);letter-spacing:.14em;font-weight:700;text-transform:uppercase}.v2-metric__value-row{display:flex;align-items:baseline;gap:3px;margin-top:2px}.v2-metric__value{font-size:13px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}.v2-metric--ok .v2-metric__value{color:var(--cyan)}.v2-metric--warn .v2-metric__value{color:var(--amber)}.v2-metric--err .v2-metric__value{color:var(--red)}.v2-metric--dim .v2-metric__value{color:var(--muted-strong)}.v2-metric__unit{font-size:10px;color:var(--muted-strong)}.v2-metric__sub{margin-top:2px;font-size:9px;color:var(--muted-strong);font-variant-numeric:tabular-nums}.v2-metric--kpi{padding:10px 12px;border-left:0;border-right:1px solid var(--line)}.v2-metric--kpi .v2-metric__value{font-size:22px}.v2-metric--kpi .v2-metric__unit{font-size:11px}.v2-metric--kpi:last-child{border-right:0}.v2-status{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;border:1px solid var(--line);background:var(--paper)}.v2-status--ok{background:var(--cyan-soft);border-color:var(--cyan);color:var(--cyan)}.v2-status--warn{background:var(--amber-soft);border-color:var(--amber);color:var(--amber-ink)}.v2-status--err{background:var(--red-soft);border-color:var(--red);color:var(--red)}.v2-dock{font-family:var(--font-mono);font-size:11px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;border:1px solid var(--line);height:100%;min-height:0}.v2-dock__header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--paper-2)}.v2-dock__title{font-size:10px;letter-spacing:.14em;color:var(--amber);font-weight:700}.v2-dock__toggle{background:transparent;border:1px solid var(--line);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;padding:2px 6px;cursor:pointer}.v2-dock__tabs{display:flex;gap:2px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--paper)}.v2-dock__tab{padding:3px 8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;background:transparent;color:var(--muted-strong);border:0;font-weight:600;cursor:pointer}.v2-dock__tab--active{background:var(--amber);color:var(--paper)}.v2-dock__columns{display:grid;grid-template-columns:34px 1fr 24px 24px;padding:4px 10px;font-size:9px;color:var(--muted-strong);letter-spacing:.12em;border-bottom:1px solid var(--line);text-transform:uppercase}.v2-dock__columns span:nth-child(3),.v2-dock__columns span:nth-child(4){text-align:center}.v2-dock__list{flex:1 1 auto;overflow-y:auto;min-height:0}.v2-dock__list--controller{flex:0 0 auto;overflow:visible}.v2-dock__item{display:grid;grid-template-columns:34px 1fr 24px 24px;align-items:center;padding:6px 10px;gap:0;background:transparent;border:0;border-left:2px solid transparent;border-bottom:1px solid var(--line-3);font:inherit;font-family:var(--font-mono);font-size:11px;color:var(--ink);text-align:left;width:100%;cursor:grab}.v2-dock__item:hover{background:var(--paper-2)}.v2-dock__item--selected{background:var(--amber-soft);border-left-color:var(--amber)}.v2-dock__item-tag{color:var(--amber);font-weight:700;letter-spacing:.04em}.v2-dock__item-name{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v2-dock__item-glyph{width:18px;height:12px;display:inline-flex;flex:0 0 auto;color:var(--amber)}.v2-dock__item-glyph--controller{width:auto;height:auto;font-size:16px;line-height:1;color:var(--cyan)}.v2-dock__item-count{text-align:center;font-size:10px;color:var(--muted-strong)}.v2-dock__item-count--placed{color:var(--cyan);font-weight:600}.v2-dock__item-hot{text-align:center;font-size:10px;color:var(--muted-strong)}.v2-dock__footer{padding:8px 10px;border-top:1px solid var(--line);font-size:9px;color:var(--muted-strong);line-height:1.6;background:var(--paper-2)}.v2-dock--collapsed{width:44px}.v2-dock--collapsed .v2-dock__header{justify-content:center;padding:10px 0}.v2-dock--collapsed .v2-dock__tabs,.v2-dock--collapsed .v2-dock__columns,.v2-dock--collapsed .v2-dock__list,.v2-dock--collapsed .v2-dock__footer{display:none}.v2-canvas{position:relative;height:100%;width:100%}.v2-canvas__breadcrumb{position:absolute;top:8px;left:8px;right:8px;z-index:5;pointer-events:none;display:flex;gap:10px;align-items:center;padding:4px 10px;background:var(--paper);border:1px solid var(--line);font-family:var(--font-mono);font-size:10px;color:var(--muted-strong);letter-spacing:.04em}.v2-canvas__breadcrumb-key{color:var(--amber);font-weight:700;letter-spacing:.14em}.v2-canvas__breadcrumb-value{color:var(--ink);font-weight:600}.v2-canvas__breadcrumb-sep{color:var(--muted-2)}.v2-canvas__breadcrumb-ok{color:var(--cyan)}.v2-canvas__breadcrumb-warn{color:var(--amber)}.v2-canvas__breadcrumb-zoom{margin-left:auto;color:var(--muted-strong);font-variant-numeric:tabular-nums}.controller-node{position:relative;width:120px;min-height:94px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none;font-family:var(--font-mono);isolation:isolate}.controller-node--hmi{overflow:visible}.controller-node .process-node__actions{top:-8px;right:0}.controller-node__device{display:grid;justify-items:center;gap:4px}.controller-node__monitor{position:relative;width:96px;height:70px}.controller-node__illustration{display:block;width:96px;height:70px;color:#35556b;filter:drop-shadow(0 5px 8px rgba(32,47,62,.1))}.controller-node__illustration-shell{fill:#e8eef4f0;stroke:currentColor;stroke-width:2.2}.controller-node--selected .controller-node__illustration-shell{stroke:#0e7a8a;filter:drop-shadow(0 0 5px rgba(14,122,138,.16))}.controller-node__illustration-screen{fill:#fffffff5;stroke:#35556b57;stroke-width:1.6}.controller-node__screen-lamp{stroke:#0b122038;stroke-width:1.2}.controller-node__screen-lamp--ok{fill:#2f7d4a}.controller-node__screen-lamp--warn{fill:#c77a0a}.controller-node__screen-lamp--err{fill:#b4232c}.controller-node__screen-lamp--neutral{fill:#8a93a4}.controller-node__illustration-stand,.controller-node__illustration-base{fill:#35556b2e}.controller-node__illustration-trace{fill:none;stroke:#0e7a8a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.controller-node__label{width:100%;min-height:20px;color:var(--ink);font-size:12px;font-weight:700;line-height:1.28;text-align:center;white-space:normal;overflow-wrap:anywhere}.controller-node__port{position:absolute;top:31px;width:11px;height:11px;padding:0;border-radius:999px;border:1.6px solid #35556b;background:#fffffffa;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.1em;color:#35556b;cursor:crosshair;box-shadow:0 0 0 1px #1c2d3a1f;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.controller-node__port:hover,.controller-node__port.is-active{box-shadow:0 0 0 2px #0e7a8a24,0 4px 10px #202f3e24}.controller-node__port--observe{left:14px;transform:translate(-50%,-50%)}.controller-node__port--observe:hover,.controller-node__port--observe.is-active{transform:translate(-50%,-50%) scale(1.04)}.controller-node__port--manipulate{left:82px;transform:translate(-50%,-50%)}.controller-node__port--manipulate:hover,.controller-node__port--manipulate.is-active{transform:translate(-50%,-50%) scale(1.04)}.controller-node__port-label{position:absolute;top:50%;padding:2px 5px;border:1px solid rgba(28,45,58,.14);border-radius:7px;background:#fbfdfef5;color:#335062;font-size:.56rem;font-weight:700;line-height:1;pointer-events:none;white-space:nowrap}.controller-node__port--observe .controller-node__port-label{right:calc(100% + 6px);transform:translateY(-50%)}.controller-node__port--manipulate .controller-node__port-label{left:calc(100% + 6px);transform:translateY(-50%)}.controller-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.controller-overlay__controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1002}.controller-overlay__wire{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9;stroke-dasharray:1 9}.controller-overlay__wire--observe{stroke:var(--cyan)}.controller-overlay__wire--manipulate{stroke:var(--amber)}.controller-overlay__wire.is-selected{stroke-width:3;opacity:1}.controller-overlay__preview-wire{opacity:.92}.controller-overlay__preview-wire--observe,.controller-overlay__preview-wire--manipulate{stroke-dasharray:1 8}.controller-overlay__wire-hit{fill:none;stroke:transparent;stroke-width:18;cursor:crosshair;pointer-events:stroke}.controller-overlay__snap-marker{fill:color-mix(in srgb,var(--paper) 82%,currentColor 18%);stroke-width:2;vector-effect:non-scaling-stroke}.controller-overlay__snap-marker--observe{color:var(--cyan);stroke:var(--cyan)}.controller-overlay__snap-marker--manipulate{color:var(--amber);stroke:var(--amber)}.controller-overlay__token,.controller-overlay__detach{position:absolute;left:0;top:0}.controller-overlay__token{pointer-events:auto;min-width:34px;height:34px;padding:0 10px;border-radius:999px;border:1px solid rgba(14,122,138,.42);background:color-mix(in srgb,var(--paper) 86%,var(--cyan) 14%);box-shadow:0 6px 16px #0e7a8a24;color:var(--cyan);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.14em;cursor:pointer}.controller-overlay__token--manipulate{border-color:#cc6f2c6b;background:color-mix(in srgb,var(--paper) 86%,var(--amber) 14%);box-shadow:0 6px 16px #cc6f2c24;color:var(--amber)}.controller-overlay__token.is-selected{box-shadow:0 0 0 2px #0e7a8a2e,0 6px 18px #0e7a8a2e}.controller-overlay__label{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:6px;pointer-events:auto}.controller-overlay__label-callout-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.controller-overlay__label-key{color:var(--muted-strong);letter-spacing:.08em}.controller-overlay__label-value{color:var(--ink)}.controller-overlay__menu-anchor{position:absolute;left:0;top:0;pointer-events:none;z-index:1}.controller-overlay__menu-anchor .editable-edge__menu{pointer-events:auto}.controller-overlay__detach{pointer-events:none;width:20px;height:20px;border-radius:999px;border:1px solid rgba(11,18,32,.16);background:#fffffff0;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;box-shadow:0 3px 10px #0b12201f;z-index:1}.controller-overlay__detach.is-selected{pointer-events:auto}.controller-overlay__detach:hover{background:#fff}.controller-overlay__detach--observe{color:var(--cyan)}.controller-overlay__detach--manipulate{color:var(--amber)}.controller-overlay__waypoint-group{pointer-events:auto}.controller-overlay__waypoint-hit{fill:transparent;cursor:move}.controller-overlay__waypoint{pointer-events:none;stroke-width:2;vector-effect:non-scaling-stroke}.controller-overlay__waypoint--observe{fill:color-mix(in srgb,var(--paper) 88%,var(--cyan) 12%);stroke:var(--cyan)}.controller-overlay__waypoint--manipulate{fill:color-mix(in srgb,var(--paper) 88%,var(--amber) 12%);stroke:var(--amber)}.controller-overlay__waypoint.is-selected{filter:drop-shadow(0 0 6px rgba(11,18,32,.18))}@keyframes v2-dash{to{stroke-dashoffset:-18}}.v2-canvas .editable-edge__line{stroke-dasharray:var(--flow-wire-dash-animated);animation:v2-dash 1.1s linear infinite}.v2-canvas .editable-edge__label{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.01em;border-radius:0;padding:3px 8px;background:var(--paper);border:1px solid var(--line);color:var(--ink);box-shadow:0 1px #0b12200f;font-variant-numeric:tabular-nums;min-width:0}.v2-canvas .editable-edge__label:hover{background:var(--paper);box-shadow:0 2px 4px #0b122014}.v2-canvas .editable-edge__label--gas{border-left:3px solid var(--phase-gas);color:var(--ink)}.v2-canvas .editable-edge__label--solid{border-left:3px solid var(--phase-solid);color:var(--ink)}.v2-canvas .editable-edge__label--mixed{border-left:3px solid var(--cyan);color:var(--ink)}.v2-canvas .editable-edge__label--liquid,.v2-canvas .editable-edge__label--molten{border-left:3px solid var(--green);color:var(--ink)}.v2-modal{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;font-family:var(--font-mono);color:var(--ink);background:var(--paper);border:1px solid var(--line)}.v2-modal__header{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--paper-2);border-bottom:1px solid var(--line);flex-wrap:wrap}.v2-modal__eyebrow{color:var(--amber);letter-spacing:.14em;font-weight:700;font-size:10px}.v2-modal__title{font-size:13px;font-weight:600}.v2-modal__id{color:var(--muted-strong);font-size:11px}.v2-modal__tabs{margin-left:auto;display:flex;gap:4px}.v2-modal__tab{padding:3px 9px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;font-weight:600;background:var(--paper);color:var(--ink-3);border:1px solid var(--line);cursor:pointer}.v2-modal__tab--active{background:var(--amber);color:var(--paper);border-color:var(--amber)}.v2-modal__close{padding:3px 9px;font-family:var(--font-mono);font-size:12px;background:var(--paper);color:var(--ink-3);border:1px solid var(--line);cursor:pointer}.v2-modal__kpis{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line)}.energy-anchor-spacing{width:min(520px,calc(100vw - 24px));height:auto}.energy-anchor-spacing .v2-modal__close{margin-left:auto}.capability-deviations{width:min(960px,calc(100vw - 24px));height:min(640px,calc(100vh - 24px));height:min(640px,calc(100dvh - 24px))}.solver-diagnostics{width:calc(100vw - 20px);height:calc(100vh - 20px);height:calc(100dvh - 20px);max-width:none;max-height:none}.solver-diagnostics__kpi{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:9px 12px;border-right:1px solid var(--line);background:var(--paper)}.solver-diagnostics__kpi:last-child{border-right:0}.solver-diagnostics__kpi span{color:var(--muted-strong);font-size:9px;font-weight:700;text-transform:uppercase}.solver-diagnostics__kpi strong{overflow:hidden;color:var(--ink);font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.solver-diagnostics__body{display:grid;flex:1 1 auto;min-height:0;background:var(--paper)}.solver-diagnostics__body--global{grid-template-columns:260px minmax(0,1fr)}.solver-diagnostics__body--nodes{grid-template-columns:minmax(420px,36vw) minmax(0,1fr)}.solver-diagnostics__body--clamps{grid-template-columns:minmax(0,1fr);align-content:start}.solver-diagnostics__body--clamps .solver-diagnostics__table td:nth-child(-n+4),.solver-diagnostics__body--clamps .solver-diagnostics__table th:nth-child(-n+4){text-align:left}.solver-diagnostics__rail,.solver-diagnostics__node-panel{min-height:0;border-right:1px solid var(--line);background:var(--paper-2)}.solver-diagnostics__rail{padding:14px}.solver-diagnostics__rail h3{margin:0 0 12px;color:var(--ink);font-size:12px}.solver-diagnostics__metric-list{display:grid;gap:8px}.solver-diagnostics__metric-option{display:grid;gap:4px;width:100%;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;text-align:left}.solver-diagnostics__metric-option:hover,.solver-diagnostics__metric-option.is-active{border-color:var(--amber);background:var(--amber-soft)}.solver-diagnostics__metric-option span{color:var(--muted-strong);font-size:10px}.solver-diagnostics__metric-option strong{font-size:13px;font-weight:600}.solver-diagnostics__plot-panel{min-width:0;min-height:0;padding:12px;background:var(--paper)}.solver-diagnostics__plot{border:1px solid var(--line)}.solver-diagnostics__node-panel{display:flex;flex-direction:column}.solver-diagnostics__node-toolbar{display:flex;gap:4px;padding:10px;border-bottom:1px solid var(--line)}.solver-diagnostics__metric-tab{flex:1 1 0;padding:6px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink-3);cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:600}.solver-diagnostics__metric-tab.is-active{border-color:var(--amber);background:var(--amber);color:var(--paper)}.solver-diagnostics__table-wrap{flex:1 1 auto;min-height:0;overflow:auto}.solver-diagnostics__table{width:100%;border-collapse:collapse;font-size:10px}.solver-diagnostics__table th,.solver-diagnostics__table td{padding:7px 8px;border-bottom:1px solid var(--line-3);text-align:right;white-space:nowrap}.solver-diagnostics__table th:first-child,.solver-diagnostics__table td:first-child{max-width:180px;overflow:hidden;text-align:left;text-overflow:ellipsis}.solver-diagnostics__table th:nth-child(2),.solver-diagnostics__table td:nth-child(2){color:var(--muted-strong);text-align:left}.solver-diagnostics__table th{position:sticky;top:0;z-index:1;background:var(--paper-2);color:var(--muted-strong);font-weight:700;text-transform:uppercase}.solver-diagnostics__table tbody tr:hover,.solver-diagnostics__table tbody tr.is-active{background:var(--amber-soft)}.solver-diagnostics__node-select{width:100%;padding:0;overflow:hidden;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:transparent;border:0;cursor:pointer}.solver-diagnostics__node-select:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(max-width:920px){.solver-diagnostics__body--global,.solver-diagnostics__body--nodes{grid-template-columns:1fr}.solver-diagnostics__rail,.solver-diagnostics__node-panel{max-height:36vh;border-right:0;border-bottom:1px solid var(--line)}.solver-diagnostics .v2-modal__kpis{grid-template-columns:repeat(2,1fr)}}.v2-modal.config-modal{background:var(--paper);border:1px solid var(--line);border-radius:0;box-shadow:0 0 0 1px var(--line-2)}.v2-modal .config-modal__header{background:var(--paper-2);border-bottom:1px solid var(--line)}.v2-modal .config-modal__header-copy .eyebrow{color:var(--amber);letter-spacing:.14em;font-family:var(--font-mono);font-weight:700;font-size:10px;text-transform:uppercase}.v2-modal .config-modal__subtitle{font-family:var(--font-mono);color:var(--muted-strong);font-size:11px}.v2-modal .config-modal__header-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;border-radius:0;border:1px solid var(--line);background:var(--paper);color:var(--ink-3)}.v2-modal .config-modal__close{font-family:var(--font-mono);font-size:11px;border-radius:0;border:1px solid var(--line);background:var(--paper);color:var(--ink-3)}html,body,#root{width:100%;height:100%;margin:0}*{box-sizing:border-box}.access-gate{min-height:100%;display:grid;place-items:center;padding:24px;background:#e8edf2}.access-gate__modal{width:min(100%,390px);display:grid;gap:18px;padding:28px;border:1px solid rgba(22,43,59,.16);border-radius:8px;background:var(--paper);box-shadow:0 18px 46px #162b3b29}.access-gate__mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(200,106,43,.34);border-radius:8px;background:#fff5ed;color:var(--accent);font-family:var(--font-mono);font-size:.82rem;font-weight:800}.access-gate__copy{display:grid;gap:6px}.access-gate__eyebrow{font-family:var(--font-mono);font-size:.68rem;font-weight:800;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.12em}.access-gate__copy h1{font-size:1.5rem;line-height:1.12;color:var(--ink)}.access-gate__copy p:last-child{color:var(--muted);font-size:.94rem}.access-gate__field{display:grid;gap:7px;color:var(--ink-3);font-size:.82rem;font-weight:700}.access-gate__field input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);font:inherit;font-size:.95rem}.access-gate__field input:focus{outline:2px solid rgba(43,111,139,.24);border-color:var(--accent-2);background:var(--paper)}.access-gate__error{padding:10px 12px;border:1px solid rgba(180,35,44,.22);border-radius:6px;background:var(--red-soft);color:var(--red);font-size:.84rem;line-height:1.35}.access-gate__button{min-height:42px;border:1px solid #1f3c53;border-radius:6px;background:#1f3c53;color:#fff;font:inherit;font-size:.92rem;font-weight:800;cursor:pointer}.access-gate__button:disabled{cursor:default;opacity:.56}h1,h2,h3,p,dl,dd{margin:0}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;margin-bottom:2px}.workspace-alert{margin-bottom:10px}.workspace-shell{grid-template-columns:1fr;gap:12px}.panel{background:linear-gradient(180deg,#fffffff7,#f8fafcf5);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-soft);overflow:hidden;min-height:0}.sankey-workspace{width:100%;height:100%;min-height:0;overflow:hidden;background:#e3e8ee}.sankey-workspace--stage{display:grid;grid-template-rows:auto minmax(0,1fr);gap:0;min-height:0;padding:0}.sankey-workspace--empty{display:grid;place-items:center;color:var(--muted);border:1px dashed rgba(22,48,65,.14)}.sankey-workspace--stage .results-panel__warning{margin:8px 8px 0}.sankey-workspace--stage .sankey-canvas-shell{grid-row:2}.sankey-canvas-shell{display:grid}.sankey-ribbon__label{padding:5px 9px}.sankey-ribbon__label.is-visible{opacity:1;pointer-events:auto}.sankey-hover-card{position:fixed;z-index:35;width:min(320px,calc(100vw - 24px));padding:12px 14px;border:1px solid rgba(25,50,66,.14);border-radius:18px;background:#fbfdfff5;box-shadow:0 18px 42px #1224312e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;color:#203747}.sankey-hover-card__eyebrow{color:#203747b3;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sankey-hover-card__title{margin:6px 0 0;font-size:.92rem;font-weight:800;line-height:1.15}.sankey-hover-card__headline{margin-top:8px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.78rem;color:#203747c7}.sankey-hover-card__headline-value{color:#122431;font-weight:900}.sankey-hover-card__rows{margin:10px 0 0;display:grid;gap:6px;font-size:.74rem}.sankey-hover-card__rows>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sankey-hover-card__rows dt{margin:0;color:#203747b3}.sankey-hover-card__rows dd{margin:0;color:#122431;font-weight:700;text-align:right}.sankey-hover-card__composition{margin-top:10px;padding-top:10px;border-top:1px solid rgba(22,48,65,.1);display:grid;gap:8px}.sankey-hover-card__section-title{font-size:.72rem;font-weight:800;color:#203747b8;letter-spacing:.02em}.sankey-hover-card__composition-scroll{max-height:132px;overflow-y:auto}.sankey-hover-card--energy .sankey-hover-card__headline-value{color:#1b5d8a}.sankey-hover-card--mass .sankey-hover-card__headline-value{color:#8a4c27}.sankey-hover-card__composition-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:4px 0;font-size:.72rem;border-bottom:1px solid rgba(22,48,65,.06)}.sankey-hover-card__composition-row:last-child{border-bottom:none}.sankey-hover-card__composition-row strong{font-weight:800;color:#122431;text-align:right}.process-node{position:relative;isolation:isolate}.process-node__actions{position:absolute;display:flex;z-index:3}.process-node__action{display:grid;place-items:center;padding:0;border:1px solid rgba(22,48,65,.12);border-radius:999px;background:#fffffff0;color:#35556b;cursor:pointer}.process-node__action:hover{background:#fff;color:#244659}.process-node__action--danger{color:#9e483d}.process-node__action--danger:hover{color:#812e27}.process-node .react-flow__handle{border-radius:999px;background:#2b6f8b}.process-node__port-label{position:absolute;border:1px solid rgba(22,48,65,.14);background:#fffffff5;color:#35556b;font-weight:600;line-height:1.2;white-space:nowrap;pointer-events:none;z-index:2}.process-node__port-label--in{color:#285a70}.process-node__port-label--out{color:#8a581c}.process-node--warning{border-color:#e19b2f}.process-node--error{border-color:var(--danger)}.react-flow__edge-textbg{fill:#ffffffe0}.react-flow__edge-text{fill:#264154;font-size:11px;font-weight:600}.editable-edge__line{stroke:#7f95a8;fill:none}.editable-edge__line--gas{stroke:#2f7ea1}.editable-edge__line--solid{stroke:#c17a2f}.editable-edge__line--mixed{stroke:#7b62a6}.editable-edge__line--liquid,.editable-edge__line--molten{stroke:#2d8a70}.editable-edge__direction{fill:#7f95a8;stroke:none;pointer-events:none}.editable-edge__direction--gas{fill:#2f7ea1}.editable-edge__direction--solid{fill:#c17a2f}.editable-edge__direction--mixed{fill:#7b62a6}.editable-edge__direction--liquid,.editable-edge__direction--molten{fill:#2d8a70}.editable-edge__hit{stroke:transparent;stroke-width:20;fill:none;cursor:copy}.editable-edge__waypoint-group{opacity:.42;transition:opacity .12s ease}.editable-edge__waypoint-group.is-visible{opacity:.95}.editable-edge__waypoint{fill:#fff;stroke:#cc6f2c;stroke-width:2;cursor:grab;pointer-events:none}.editable-edge__waypoint--manual{fill:#fff;stroke:#cc6f2c}.editable-edge__waypoint--inherited{fill:#ffffffe0;stroke:#cc6f2c94;stroke-dasharray:2 2}.editable-edge__waypoint-hit{fill:transparent;stroke:transparent;stroke-width:12;cursor:grab;pointer-events:all}.editable-edge__waypoint:active{cursor:grabbing}.editable-edge__label-anchor{position:absolute;display:flex;flex-direction:column;align-items:center;z-index:1000;isolation:isolate;pointer-events:all}.editable-edge__label{border:1px solid rgba(22,48,65,.1);color:#264154;white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none}.editable-edge__label:focus-visible{outline:2px solid rgba(47,126,161,.28);outline-offset:2px}.editable-edge__label.is-dragging{cursor:grabbing}.editable-edge__label--gas{border-color:#2f7ea147;color:#245f79}.editable-edge__label--solid{border-color:#c17a2f47;color:#8a581c}.editable-edge__label--mixed{border-color:#7b62a647;color:#5c4883}.editable-edge__label--liquid,.editable-edge__label--molten{border-color:#2d8a7047;color:#236e58}.editable-edge__label--controller-observe{min-width:0;border-color:#0e7a8a47;color:#245f79}.editable-edge__label--controller-manipulate{min-width:0;border-color:#c17a2f47;color:#8a581c}.editable-edge__menu{position:absolute;left:50%;transform:translate(-50%);z-index:1001;pointer-events:all}.canvas-context-menu{position:fixed;z-index:1001}.canvas-context-menu .editable-edge__menu{left:0;top:0;transform:none}.editable-edge__label-callout{stroke:#26415452;stroke-width:1.25;stroke-linecap:round;stroke-dasharray:2 2;pointer-events:none}.editable-edge__menu-title{color:#4a6272;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.editable-edge__menu-option{display:flex;align-items:center;gap:8px;color:#243d50;pointer-events:all}.editable-edge__menu-option input{margin:0;pointer-events:none}.editable-edge__menu-action{width:100%;padding:7px 0 0;border:0;border-top:1px solid rgba(22,48,65,.1);background:transparent;color:#243d50;cursor:pointer;font:inherit;text-align:left}.editable-edge__menu-action--danger{color:#9e483d}.editable-edge__menu-action--danger:hover{color:#812e27}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#131e2838;display:grid;place-items:center;padding:8px;z-index:40}.config-modal{position:relative;width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);max-width:none;max-height:none;overflow:hidden;display:flex;flex-direction:column;background:#f3f7fa;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px #1b2d3c24}.config-modal__shell{display:flex;flex:1;min-height:0;flex-direction:column}.config-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px 12px;background:#f3f7fa;border-bottom:1px solid rgba(22,48,65,.1)}.config-modal__header-copy{display:grid;gap:4px;min-width:0}.workspace-picker-modal{width:min(720px,calc(100vw - 24px));height:min(620px,calc(100vh - 24px));height:min(620px,calc(100dvh - 24px))}.workspace-picker-modal__list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 0;background:var(--paper)}.workspace-picker-modal__empty{padding:24px 16px;font-family:var(--font-mono);font-size:11px;color:var(--muted-2);text-align:center}.workspace-picker-modal__tabs{margin-left:auto;align-items:stretch}.workspace-picker-modal__tab{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);color:var(--muted-strong);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:0;padding:0 8px;cursor:pointer}.workspace-picker-modal__tab--active{border-color:var(--amber);color:var(--ink);background:var(--paper-2)}.workspace-picker-modal__tab span{color:var(--muted);font-weight:500}.workspace-picker-modal__row{display:grid;gap:4px;padding:8px 14px 10px;border-bottom:1px solid var(--line);cursor:pointer;border-left:3px solid transparent;background:var(--paper);font-family:var(--font-mono)}.workspace-picker-modal__row:hover,.workspace-picker-modal__row--selected{background:var(--paper-2)}.workspace-picker-modal__row--current{border-left-color:var(--amber)}.workspace-picker-modal__row-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-picker-modal__name{font-size:13px;font-weight:600;color:var(--ink);cursor:text}.workspace-picker-modal__name-input{flex:1 1 auto;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--amber);padding:2px 6px}.workspace-picker-modal__chip{font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.14em;padding:2px 6px;border:1px solid var(--line);color:var(--ink-3);background:var(--paper)}.workspace-picker-modal__chip--current{border-color:var(--amber);color:var(--amber)}.workspace-picker-modal__chip--solved{border-color:var(--phase-solid, var(--ink-3));color:var(--phase-solid, var(--ink-3))}.workspace-picker-modal__row-meta{display:flex;gap:12px;font-size:10px;letter-spacing:.06em;color:var(--muted-strong);text-transform:uppercase}.workspace-picker-modal__description{font-size:11px;color:var(--ink-3);cursor:text;white-space:pre-wrap}.workspace-picker-modal__description--empty{color:var(--muted-2);font-style:italic}.workspace-picker-modal__description-input{font-family:var(--font-mono);font-size:11px;color:var(--ink);background:var(--paper);border:1px solid var(--amber);padding:4px 6px;resize:vertical}.workspace-picker-modal__error{padding:8px 14px;background:var(--paper-2);border-top:1px solid var(--line);color:var(--err, #b03a2e);font-family:var(--font-mono);font-size:11px}.workspace-picker-modal__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--paper-2);border-top:1px solid var(--line)}.workspace-picker-modal__footer-group{display:flex;flex-wrap:wrap;gap:6px}.workspace-picker-modal__button{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:5px 12px;background:var(--paper);color:var(--ink-3);border:1px solid var(--line);cursor:pointer}.workspace-picker-modal__button:hover:not(:disabled){background:var(--paper-3);color:var(--ink)}.workspace-picker-modal__button:disabled{color:var(--muted-2);background:var(--paper-3);cursor:not-allowed}.workspace-picker-modal__button--danger{border-color:#b91c1c59;color:#991b1b}.workspace-picker-modal__button--danger:hover:not(:disabled){background:#fee2e2cc;border-color:#b91c1c8c}.workspace-picker-modal__button--primary{background:var(--amber);color:var(--paper);border-color:var(--amber)}.workspace-picker-modal__button--primary:hover:not(:disabled){background:var(--amber);color:var(--paper);filter:brightness(.95)}.thermo-database-modal{width:min(1520px,calc(100vw - 24px));height:min(940px,calc(100vh - 24px));height:min(940px,calc(100dvh - 24px))}.thermo-database-modal__body{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:0}.source-materials-modal__body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0}@media(max-width:1024px){.source-materials-modal__body{grid-template-columns:1fr;grid-template-rows:minmax(180px,28vh) minmax(0,1fr)}.source-materials-modal__body>.source-materials-modal__nav{border-right:0;border-bottom:1px solid var(--line)}}.source-materials-modal__nav{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:8px;border-right:1px solid var(--line);background:var(--paper-2)}.source-materials-modal__panel-title{color:var(--amber);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.source-materials-modal__list{overflow-y:auto;min-height:0;border:1px solid var(--line);background:var(--paper)}.source-materials-modal__item{display:grid;gap:2px;width:100%;padding:7px 8px;border:0;border-left:2px solid transparent;border-bottom:1px solid var(--line-3);background:var(--paper);color:var(--ink);text-align:left;font-family:var(--font-mono);cursor:pointer}.source-materials-modal__item:last-child{border-bottom:0}.source-materials-modal__item:hover{background:var(--paper-2)}.source-materials-modal__item.is-active{border-left-color:var(--amber);background:var(--paper-2)}.source-materials-modal__item-name{font-size:12px;font-weight:600}.source-materials-modal__item-phases{font-size:10px;color:var(--muted-strong)}.source-materials-modal__empty{padding:10px;font-size:11px;color:var(--muted-strong)}.source-materials-modal__nav-hint{margin:0;font-size:10.5px;line-height:1.45;color:var(--muted-strong)}.source-materials-modal__main{min-height:0;overflow-y:auto;padding:12px 14px;display:grid;gap:12px;align-content:start}.source-materials-modal__error{margin:0;padding:8px 12px;border:1px solid var(--red);background:var(--red-soft);color:var(--red);font-size:12px}.source-materials-modal__group+.source-materials-modal__group{border-top:1px solid var(--line)}.source-materials-modal__group-head{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;padding:5px 8px;border-bottom:1px solid var(--line-2);background:var(--paper-3);color:var(--muted-strong);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.source-materials-modal__identity{display:grid;gap:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}.source-materials-modal__title-row{display:flex;align-items:center;gap:8px}.source-materials-modal__name{flex:1;min-width:0;padding:2px 4px;margin-left:-5px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--ink-2);font:inherit;font-size:20px;font-weight:600;letter-spacing:-.01em}.source-materials-modal__name:hover{border-color:var(--line-2)}.source-materials-modal__name:focus{outline:none;border-color:var(--amber);background:var(--paper)}.source-materials-modal__delete{display:inline-flex;align-items:center;gap:5px;flex:none;height:26px;padding:0 6px;border:1px solid transparent;background:transparent;color:var(--muted-strong);font-family:var(--font-mono);font-size:11px;cursor:pointer}.source-materials-modal__delete:hover,.source-materials-modal__delete:focus-visible{border-color:var(--red);color:var(--red);outline:none}.source-materials-modal__delete.is-armed{border-color:var(--red);background:var(--red-soft);color:var(--red)}.source-materials-modal__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.source-materials-modal__category{display:inline-flex;align-items:center;gap:8px;color:var(--muted-strong)}.source-materials-modal__category input{width:200px;max-width:100%;padding:3px 6px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-family:var(--font-mono);font-size:11.5px}.source-materials-modal__category input:focus,.source-materials-modal__description:focus{outline:none;border-color:var(--amber)}.source-materials-modal__id{color:var(--muted-2);font-size:10.5px}.source-materials-modal__description{width:100%;min-height:56px;padding:6px 8px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink-3);font:inherit;font-size:12.5px;line-height:1.45;resize:vertical}.source-materials-modal__basis{display:inline-flex;border:1px solid var(--line)}.source-materials-modal__basis button{padding:3px 9px;border:0;background:var(--paper);color:var(--muted-strong);font-family:var(--font-mono);font-size:11px;cursor:pointer}.source-materials-modal__basis button+button{border-left:1px solid var(--line)}.source-materials-modal__basis button.is-active{background:var(--amber-soft);color:var(--amber-ink);font-weight:600}.source-materials-modal__phases{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;align-items:start}.source-materials-modal__phase{width:100%;border:1px solid var(--line);background:var(--paper)}.source-materials-modal__add-phase{align-self:start}.source-materials-modal__phases>.config-modal__hint{grid-column:1 / -1;margin:0}.source-materials-modal__heating{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:12px;align-items:start}@media(max-width:900px){.source-materials-modal__heating{grid-template-columns:minmax(0,1fr)}}.source-materials-modal__heating-side{display:grid;gap:10px;min-width:0}.source-materials-modal__transitions-t{width:64px}.source-materials-modal__transitions-h{width:116px}.source-materials-modal__transitions,.source-materials-modal__heating-inputs{width:100%;border:1px solid var(--line);background:var(--paper)}.source-materials-modal__transitions tr.is-step td{color:var(--muted-strong)}.source-materials-modal__transitions td.em-val{text-align:right}.source-materials-modal__charts{display:grid;gap:10px;min-width:0}.source-materials-modal__chart-caption{margin:4px 0 -6px;color:var(--muted-strong)}.source-materials-modal__charts>.config-modal__hint{margin:0}.source-materials-modal__section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.source-materials-modal__section-head h3{margin:0}.thermo-database-modal__nav{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;padding:8px;border-right:1px solid var(--line);background:var(--paper-2)}.thermo-database-modal__panel-title{color:var(--amber);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.thermo-database-modal__search{width:100%;border:1px solid var(--line);border-radius:0;padding:6px 8px;background:var(--paper);color:var(--ink);font:inherit;font-family:var(--font-mono)}.thermo-database-modal__search::placeholder{color:var(--muted-strong)}.thermo-database-modal__search:focus{outline:none;border-color:var(--amber)}.thermo-database-modal__species-list{overflow-y:auto;min-height:0;border:1px solid var(--line);background:var(--paper)}.thermo-database-modal__species{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"key mass" "formula formula";gap:2px 8px;width:100%;padding:6px 8px;border:0;border-left:2px solid transparent;border-bottom:1px solid var(--line-3);background:var(--paper);color:var(--ink);text-align:left;font-family:var(--font-mono);cursor:pointer}.thermo-database-modal__species:last-child{border-bottom:0}.thermo-database-modal__species:hover{background:var(--paper-2)}.thermo-database-modal__species-key{grid-area:key;min-width:0;color:var(--ink);font-size:11px;font-weight:700}.thermo-database-modal__species-formula{grid-area:formula;min-width:0;color:var(--muted-strong);font-size:10px}.thermo-database-modal__species-mass{grid-area:mass;justify-self:end;color:var(--muted-strong);font-size:10px}.thermo-database-modal__species.is-active{border-left-color:var(--amber);background:var(--amber-soft)}.thermo-database-modal__main{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}.thermo-database-modal__toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--paper)}.thermo-database-modal__toolbar>:first-child{flex:1 1 240px;min-width:0}.thermo-database-modal__toolbar .v2-modal__tabs{flex-wrap:wrap;max-width:100%;row-gap:4px}.thermo-database-modal .v2-modal__kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.thermo-database-modal__content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;min-width:0;overflow:hidden}.thermo-database-modal .config-modal__sticky-rail{padding:0;background:var(--paper)}.thermo-database-modal__hint{padding:8px 12px;color:var(--muted-strong);font-family:var(--font-mono);font-size:11px}.thermo-database-modal__hint--list{padding:8px}.thermo-database-modal__hint--empty{padding:8px 10px}.thermo-database-modal__error{margin:8px 12px 0;padding:7px 10px;border:1px solid var(--red);border-left-width:2px;border-radius:0;background:var(--red-soft);color:var(--red);font-family:var(--font-mono);font-size:11px}.thermo-database-modal__sheet,.thermo-database-modal__context-rail{min-height:0}.thermo-database-modal__sheet{background:var(--paper);overflow:auto}.thermo-database-modal__section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--paper-2)}.thermo-database-modal__section-heading h3{margin:0;color:var(--amber);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.thermo-database-modal__section-heading--derived,.thermo-database-modal__section-heading--segments{border-top:1px solid var(--line)}.thermo-database-modal__section-summary{color:var(--muted-strong);font-family:var(--font-mono);font-size:11px}.thermo-database-modal__sheet-table{display:grid;min-width:680px}.thermo-database-modal__sheet-table--segment{min-width:0}.thermo-database-modal__segment-list{display:grid;gap:12px;padding:12px}.thermo-database-modal__segment-card{border:1px solid var(--line);background:var(--paper-2)}.thermo-database-modal__segment-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--paper-3)}.thermo-database-modal__sheet-columns,.thermo-database-modal__sheet-row{display:grid;grid-template-columns:1.15fr minmax(180px,1.1fr) .6fr .7fr;align-items:center}.thermo-database-modal__sheet-columns{min-width:680px;padding:4px 12px;border-bottom:1px solid var(--line-2);background:var(--paper-3);color:var(--muted-strong);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.thermo-database-modal__sheet-row{padding:5px 12px;border-bottom:1px solid var(--line-3);font-family:var(--font-mono);font-size:11px;gap:8px}.thermo-database-modal__sheet-key,.thermo-database-modal__sheet-unit,.thermo-database-modal__sheet-role{min-width:0}.thermo-database-modal__sheet-key{color:var(--ink)}.thermo-database-modal__sheet-unit,.thermo-database-modal__sheet-role{color:var(--muted-strong);text-transform:uppercase}.thermo-database-modal__sheet-input{width:100%;min-width:0;padding:4px 6px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-family:var(--font-mono)}.thermo-database-modal__sheet-input:focus{outline:none;border-color:var(--amber)}.thermo-database-modal__sheet-input:disabled{color:var(--muted-strong);background:var(--paper-2)}.thermo-database-modal__sheet-input:is(textarea){min-height:56px;resize:vertical}.thermo-database-modal__derived-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:640px;border-top:1px solid var(--line)}.thermo-database-modal__curve-section{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.thermo-database-modal__curve-section:nth-child(2n){border-right:0}.thermo-database-modal__curve-section:nth-last-child(-n+2){border-bottom:0}.thermo-database-modal__curve-titlebar,.thermo-database-modal__curve-columns,.thermo-database-modal__curve-row,.thermo-database-modal__context-row,.thermo-database-modal__reaction-row{display:grid;align-items:center}.thermo-database-modal__curve-titlebar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--paper-3)}.thermo-database-modal__curve-unit{color:var(--muted-strong);font-family:var(--font-mono);font-size:10px}.thermo-database-modal__curve-columns{grid-template-columns:.8fr 1fr;padding:4px 10px;border-bottom:1px solid var(--line-2);color:var(--muted-strong);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.thermo-database-modal__curve-table{display:grid}.thermo-database-modal__curve-row{grid-template-columns:.8fr 1fr;gap:8px;padding:4px 10px;border-bottom:1px solid var(--line-3);font-family:var(--font-mono);font-size:11px}.thermo-database-modal__curve-row:last-child{border-bottom:0}.thermo-database-modal__context-rail{border-left:1px solid var(--line);background:var(--paper-2);overflow-y:auto;overflow-x:hidden}.thermo-database-modal__rail-title{padding:6px 10px;border-bottom:1px solid var(--line);background:var(--paper-3);color:var(--amber);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.thermo-database-modal__context-row{grid-template-columns:minmax(0,110px) minmax(0,1fr);gap:10px;padding:6px 10px;border-bottom:1px solid var(--line-3);font-family:var(--font-mono);font-size:11px}.thermo-database-modal__context-key{color:var(--muted-strong);text-transform:uppercase}.thermo-database-modal__reaction-list{display:grid}.thermo-database-modal__reaction-row{gap:8px;padding:6px 10px;border-bottom:1px solid var(--line-3);font-family:var(--font-mono);font-size:11px}.thermo-database-modal__reaction-copy{display:grid;gap:3px;min-width:0}.thermo-database-modal__reaction-equation,.thermo-database-modal__reaction-temperature{color:var(--muted-strong)}.thermo-database-modal__reaction-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.thermo-database-modal__reaction-value{display:grid;gap:2px}.thermo-database-modal__reaction-value>span:first-child{color:var(--muted-strong);font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}@media(max-width:1200px){.thermo-database-modal__content-grid{grid-template-columns:1fr}.thermo-database-modal__context-rail{border-left:0;border-top:1px solid var(--line);max-height:min(280px,32vh)}}@media(max-width:900px){.thermo-database-modal .v2-modal__kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.thermo-database-modal .v2-modal__kpis .v2-metric--kpi{min-height:60px;padding:8px 10px}.thermo-database-modal .v2-modal__kpis .v2-metric--kpi .v2-metric__value{font-size:18px}.thermo-database-modal__toolbar .v2-modal__tabs{width:100%;margin-left:0;justify-content:flex-start}}@media(max-width:1024px){.thermo-database-modal__body{grid-template-columns:1fr;grid-template-rows:minmax(180px,28vh) minmax(0,1fr)}.thermo-database-modal__nav{border-right:0;border-bottom:1px solid var(--line)}.thermo-database-modal__species-list{min-height:140px}}@media(max-width:560px){.thermo-database-modal .v2-modal__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.config-modal__title{color:var(--text);font-size:1.25rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}.config-modal__subtitle{color:var(--muted);text-transform:capitalize;font-size:.76rem}.solver-telemetry-modal{width:min(1120px,calc(100vw - 24px));height:min(760px,calc(100vh - 24px));height:min(760px,calc(100dvh - 24px))}.solver-telemetry-modal__toolbar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--paper-2)}.solver-telemetry-modal__scope{border:1px solid var(--line);background:var(--paper);color:var(--ink-3);font-family:var(--font-mono);font-size:10px;font-weight:700;padding:4px 8px;text-transform:uppercase;cursor:pointer}.solver-telemetry-modal__scope:hover{border-color:var(--cyan);color:var(--cyan)}.solver-telemetry-modal__scope.is-active{background:var(--cyan-soft);border-color:var(--cyan);color:var(--cyan)}.solver-telemetry-modal__body{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0;flex:1}.solver-telemetry-modal__timeline{min-width:0;overflow:auto;background:var(--paper)}.solver-telemetry-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11px}.solver-telemetry-table th,.solver-telemetry-table td{padding:7px 8px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}.solver-telemetry-table th{position:sticky;top:0;z-index:1;background:var(--paper-2);color:var(--muted-strong);font-size:9px;text-transform:uppercase;letter-spacing:.12em}.solver-telemetry-table tbody tr{cursor:pointer}.solver-telemetry-table tbody tr:hover,.solver-telemetry-table tbody tr.is-selected{background:var(--cyan-soft)}.solver-telemetry-modal__payload{min-width:0;overflow:hidden;border-left:1px solid var(--line);background:var(--paper-2);display:flex;flex-direction:column}.solver-telemetry-modal__payload-header{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--ink-3)}.solver-telemetry-modal__payload pre{flex:1;margin:0;padding:12px;overflow:auto;color:var(--ink);font-family:var(--font-mono);font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.solver-telemetry-modal__empty{padding:18px;color:var(--muted-strong);font-family:var(--font-mono);font-size:11px}@media(max-width:860px){.solver-telemetry-modal__body{grid-template-columns:1fr}.solver-telemetry-modal__payload{min-height:220px;border-left:0;border-top:1px solid var(--line)}}.config-modal__close{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 12px;font-weight:600;cursor:pointer}.config-modal__header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.config-modal__header-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid rgba(22,48,65,.12);border-radius:8px;background:#edf2f6;color:#365164;font-size:.78rem;font-weight:700;white-space:nowrap}.config-modal__body{flex:1;min-height:0;overflow:auto;padding:0 18px 18px}.config-modal__sticky-rail{position:sticky;top:0;z-index:2;display:grid;gap:8px;padding:12px 0;background:linear-gradient(180deg,#f3f7fafa,#f3f7fafa 72%,#f3f7fa00)}.config-modal__action{justify-self:start;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:8px;padding:6px 10px;font-size:.82rem;font-weight:600;cursor:pointer}.config-modal__section{display:grid;gap:10px;padding:14px 16px;border:1px solid rgba(22,48,65,.09);border-radius:8px;background:#f8fbfd}.config-modal__section h3{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:#4d6779}.config-modal__hint{color:var(--muted);font-size:.8rem}.config-modal__close,.config-modal__action{font:inherit}@media(max-width:1200px){.config-modal__header{flex-direction:column;align-items:stretch}.config-modal__header-actions{justify-content:flex-start}}@media(max-width:720px){.app-shell{padding:10px}}:root{--bg: #cfd6de;--bg-elevated: #e7ebf0;--border: #aab4bf;--text: #16212c;--muted: #5a6775;--accent: #8d5a30;--accent-2: #35576d;--danger: #9b433d;--shadow: none;--shadow-soft: none}html,body,#root{overflow:hidden}body{background:var(--bg);color:var(--text)}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--bg-elevated)}.workspace-alert-rail{display:grid;gap:1px;border-bottom:1px solid var(--border);background:var(--border)}.workspace-alert{margin:0;padding:4px 8px;border:0;border-radius:0;background:#ead9d6;color:#6a2e28;font-size:.74rem}.workspace-alert__summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.workspace-alert__more{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline}.workspace-alert__more:focus-visible{outline:2px solid currentColor;outline-offset:2px}.workspace-alert__details{display:grid;gap:3px;margin:5px 0 0;padding-left:16px}.workspace-alert__detail{line-height:1.35}.workspace-alert__detail-level,.workspace-alert__detail-subject{margin-right:6px;font-family:var(--font-mono);font-size:.68rem;font-weight:800}.workspace-alert__detail-level--warning{color:#7a5519}.workspace-shell{display:flex;flex:1;min-height:0;overflow:hidden}.workspace-main{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.workspace-main--single-panel{grid-template-columns:minmax(0,1fr)}.workspace-surface{display:grid;min-height:0;overflow:hidden;background:#dfe5eb}.workspace-stage{display:grid;min-height:0;height:100%;overflow:hidden}.workspace-stage>*{min-height:0;height:100%}@media(max-width:640px){.controller-node{min-width:200px;max-width:220px}}.flow-canvas{width:100%;height:100%;min-height:0;border-radius:0;overflow:hidden;background:#e3e8ee}.process-node{width:148px;min-height:56px;padding:7px 8px 6px;border:1px solid var(--border);border-radius:4px;background:#eef2f6;box-shadow:none}.process-node.is-selected{border-color:#7c8fa1;box-shadow:inset 0 0 0 1px #7c8fa1}.process-node__actions{top:4px;right:4px;gap:4px}.process-node__action{width:18px;height:18px;box-shadow:none}.process-node__action svg{width:10px;height:10px}.process-node .react-flow__handle{width:8px;height:8px;border:1px solid #eef2f6}.process-node__port-label{max-width:80px;padding:1px 4px;border-radius:3px;font-size:.56rem}.react-flow__background path{stroke:#707e8c38}.react-flow__controls{border:1px solid var(--border);border-radius:4px;background:#edf1f5;box-shadow:none}.react-flow__controls-button{background:transparent;border-bottom:1px solid rgba(22,33,44,.08)}.flow-history-button:disabled svg{opacity:.4}.editable-edge__line{stroke-width:1.8}.editable-edge__label-anchor{gap:4px}.editable-edge__label{min-width:0;max-width:220px;padding:2px 6px;border-radius:3px;background:#edf1f5f5;font-size:10px;font-weight:600;text-align:left;box-shadow:none}.editable-edge__label:hover{background:#f5f7fa;box-shadow:none}.editable-edge__menu{top:calc(100% + 2px);min-width:144px;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:#edf1f5;box-shadow:none}.editable-edge__menu-title{margin-bottom:4px;font-size:.66rem}.editable-edge__menu-option{padding:2px 0;font-size:.76rem}.editable-edge__menu-action{margin-top:4px;padding-top:4px;font-size:.76rem}.results-panel__warning-label{color:var(--muted);font-size:.72rem}.results-panel__warning{display:grid;gap:2px;padding:4px 6px;border:1px solid rgba(155,67,61,.18);border-radius:4px;background:#ead9d6b8}.results-panel__warning-value{font-size:.72rem}.sankey-canvas-shell{position:relative;min-height:0;height:100%;overflow:hidden;border:0;border-radius:0;background:radial-gradient(circle at top left,#fffffffa,#f4f8fcf5),linear-gradient(180deg,#eaf1f6b8,#f7fafcd6);box-shadow:none}.sankey-canvas-shell .react-flow__renderer,.sankey-canvas-shell .react-flow__viewport,.sankey-canvas-shell .react-flow__pane{cursor:grab}.sankey-canvas-shell .react-flow__pane:active{cursor:grabbing}.sankey-canvas-shell .react-flow__attribution{display:none}.sankey-canvas-shell .react-flow__node,.sankey-canvas-shell .react-flow__node .process-node,.sankey-canvas-shell .react-flow__node .energy-stub-node{pointer-events:none}.sankey-canvas-shell .react-flow__node .process-node__symbol,.sankey-canvas-shell .react-flow__node .process-node__caption-drag-handle,.sankey-canvas-shell .react-flow__node .process-node__action,.sankey-canvas-shell .react-flow__node .process-node__energy-anchor,.sankey-canvas-shell .react-flow__node .energy-stub-node__label,.sankey-canvas-shell .react-flow__node .energy-stub-node__anchor{pointer-events:auto}.sankey-canvas-shell .react-flow__node .react-flow__handle{pointer-events:none}.sankey-canvas__button{border:1px solid rgba(22,48,65,.12);border-radius:10px;background:linear-gradient(180deg,#fffffffa,#f3f7fbfa);color:#21394b;font:inherit;font-size:.76rem;font-weight:700;letter-spacing:.03em;padding:.5rem .78rem;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.sankey-canvas__button:hover{transform:translateY(-1px);border-color:#16304133;box-shadow:0 8px 14px #12243114}.sankey-ribbon__halo,.sankey-ribbon__line,.sankey-ribbon__hit{transition:opacity .12s ease,stroke-width .12s ease}.sankey-ribbon__halo{opacity:.45}.sankey-ribbon__halo.is-emphasized{opacity:.92}.sankey-ribbon__band-halo,.sankey-ribbon__band{transition:opacity .12s ease,stroke-width .12s ease,fill .12s ease}.sankey-ribbon__band-halo{opacity:.8}.sankey-ribbon__band-halo.is-emphasized{opacity:1}.sankey-ribbon__band{opacity:.9}.sankey-ribbon__band,.sankey-ribbon__line,.sankey-ribbon__hit{cursor:pointer}.sankey-ribbon__band-halo.is-corridor,.sankey-ribbon__band.is-corridor{fill:none}.sankey-ribbon__band.is-selected{opacity:1}@keyframes sankey-ribbon-dash-flow{to{stroke-dashoffset:-18}}.sankey-ribbon__direction-arrows{pointer-events:none;opacity:.98;transition:opacity .12s ease}.sankey-ribbon__direction-arrows.is-emphasized{opacity:1}.sankey-ribbon__direction-arrow{opacity:.98}.sankey-ribbon__direction-arrow-motion{will-change:transform}.sankey-ribbon__direction-arrow-shadow,.sankey-ribbon__direction-arrow-mark{vector-effect:non-scaling-stroke}.sankey-ribbon__direction-arrow-shadow{fill:#10181f42;filter:drop-shadow(0 1px 1.25px rgba(16,24,31,.18))}.sankey-ribbon__direction-arrow-mark{fill:#fffcf7fa;stroke:#2c2018eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55;paint-order:stroke fill}.sankey-ribbon__line{opacity:.94}.sankey-ribbon__line.is-selected{opacity:1}.sankey-ribbon__line.is-dashed-zero{opacity:.88;animation:sankey-ribbon-dash-flow 1.55s linear infinite}.sankey-ribbon__waypoint{cursor:pointer;pointer-events:all}.sankey-ribbon__waypoint-dot{fill:#f7fafc;stroke:#20445be6;stroke-width:2;transition:fill .12s ease,stroke .12s ease,transform .12s ease}.sankey-ribbon__waypoint-dot.is-selected{fill:#fff4de;stroke:#cc6f2c}.sankey-ribbon__label-callout{stroke-width:1.6;stroke-linecap:round;opacity:.62;pointer-events:none}.sankey-ribbon__label-leader-dot{stroke:#ffffffd9;stroke-width:1.2;opacity:.92}.sankey-ribbon__label-anchor{position:absolute;left:0;top:0;z-index:3;display:grid;width:var(--sankey-label-anchor-hit-size, 28px);height:var(--sankey-label-anchor-hit-size, 28px);padding:0;place-items:center;border:0;background:transparent;cursor:grab;pointer-events:all;touch-action:none;-webkit-user-select:none;user-select:none}.sankey-ribbon__label-anchor:active{cursor:grabbing}.sankey-ribbon__label-anchor.is-active{z-index:6}.sankey-ribbon__label-anchor-hit{pointer-events:all}.sankey-ribbon__label-anchor-dot{display:block;width:var(--sankey-label-anchor-dot-size, 10px);height:var(--sankey-label-anchor-dot-size, 10px);border:1.6px solid rgba(38,65,84,.72);border-radius:999px;background:#fff9ef;box-shadow:0 2px 6px #12243124;pointer-events:none}.sankey-ribbon__label-anchor:focus-visible .sankey-ribbon__label-anchor-dot{outline:2px solid rgba(20,110,180,.72);outline-offset:3px}.sankey-ribbon__label{position:absolute;left:0;top:0;z-index:4;display:inline-flex;align-items:center;gap:8px;opacity:1;pointer-events:all;border:1px solid rgba(22,48,65,.08);border-radius:999px;background:#fffffff0;color:#294050;font:inherit;white-space:nowrap;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:0 12px 22px #1224311a;cursor:pointer;transition:box-shadow .12s ease,background .12s ease,border-color .12s ease}.sankey-ribbon__label.is-compact{padding:5px 9px}.sankey-ribbon__label.is-expanded{padding:6px 11px}.sankey-ribbon__label.is-dragging{cursor:grabbing;transition:none}.sankey-ribbon__label.is-compact span{display:none}.sankey-ribbon__label.is-annotated span{display:inline}.sankey-ribbon__label.is-stacked{flex-direction:column;align-items:flex-start;gap:2px;border-radius:10px}.sankey-ribbon__label.is-stacked strong{line-height:1.25}.sankey-ribbon__menu-anchor{position:absolute;left:0;top:0;width:0;height:0;z-index:1001}.sankey-ribbon__menu-anchor .editable-edge__menu{pointer-events:all}.sankey-ribbon__label:hover{background:#fffffffa;border-color:#16304124;box-shadow:0 14px 24px #12243124}.sankey-ribbon__label span{font-size:.72rem;font-weight:700}.sankey-ribbon__label strong{color:#142733;font-size:.76rem;font-weight:800}.sankey-canvas-shell__stage-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sankey-stage-hud{position:absolute;top:16px;left:16px;z-index:7;display:flex;flex-wrap:wrap;gap:8px;max-width:calc(100% - 32px)}.sankey-stage-hud__group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sankey-stage-hud__field{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 10px;border:1px solid rgba(22,48,65,.08);border-radius:10px;background:#ffffffeb;color:#21394b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 24px #1224311f}.sankey-stage-hud__field span{color:#5d7182;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sankey-stage-hud__field select{min-width:120px;border:1px solid rgba(22,48,65,.12);border-radius:8px;background:#fffffffa;color:#1c3343;font:inherit;font-size:.76rem;font-weight:600;padding:.35rem .5rem}.sankey-stage-hud__field select:focus-visible,.sankey-canvas__button:focus-visible{outline:2px solid rgba(42,108,168,.35);outline-offset:2px}.sankey-canvas-shell__flow{display:grid;min-width:0;min-height:0;height:100%}.sankey-canvas-shell__flow .react-flow{width:100%;height:100%}.sankey-canvas__button--floating{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 24px #1224311f}.energy-stub-node{position:relative;display:grid;place-items:center;width:100%;height:100%;padding:0 8px;background:transparent}.energy-stub-node.is-selected{text-shadow:0 0 14px rgba(255,255,255,.92)}.energy-stub-node__label{color:#4f3b33;font-size:.8rem;font-weight:900;line-height:1.1;text-align:center;letter-spacing:.01em;text-shadow:0 0 10px rgba(255,255,255,.94),0 1px 0 rgba(255,255,255,.76);-webkit-user-select:none;user-select:none}.energy-stub-node__anchor{position:absolute;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;cursor:grab;z-index:4}.energy-stub-node__anchor:active{cursor:grabbing}.energy-stub-node__anchor-dot{width:10px;height:10px;border:2px solid rgba(255,255,255,.96);border-radius:999px;background:currentColor;box-shadow:0 0 0 1px #35556b1f,0 4px 10px #1630412e;transition:transform .12s ease,box-shadow .12s ease}.energy-stub-node__anchor:hover .energy-stub-node__anchor-dot,.energy-stub-node__anchor.is-highlighted .energy-stub-node__anchor-dot{transform:scale(1.14);box-shadow:0 0 0 2px #fffffff5,0 6px 14px #16304138}.process-node__energy-anchor{position:absolute;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:999px;background:transparent;cursor:grab;z-index:5}.process-node__energy-anchor:active{cursor:grabbing}.process-node__energy-anchor-dot{width:10px;height:10px;border:2px solid rgba(255,255,255,.96);border-radius:999px;background:currentColor;box-shadow:0 0 0 1px #35556b1f,0 4px 10px #1630412e;transition:transform .12s ease,box-shadow .12s ease}.process-node__energy-anchor:hover .process-node__energy-anchor-dot,.process-node__energy-anchor.is-highlighted .process-node__energy-anchor-dot{transform:scale(1.14);box-shadow:0 0 0 2px #fffffff5,0 6px 14px #16304138}.overview-workspace{box-sizing:border-box;width:100%;height:100%;min-height:0;overflow:auto;padding:0 18px 18px;background:var(--paper-2);color:var(--ink)}.overview-workspace .results-panel__warning{margin-bottom:12px}.overview-tabs{display:inline-flex;max-width:100%;gap:0;margin:0;border:0;border-radius:0;padding:0;background:transparent}.overview-nav-stack{position:sticky;top:0;z-index:12;display:grid;width:100%;margin:0 -18px 16px;border:0;background:var(--paper)}.overview-nav-bar{display:flex;align-items:stretch;min-width:0;min-height:40px;border-bottom:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:11px}.overview-nav-stack .overview-tabs{display:flex;flex:0 1 auto;min-width:0;width:auto;border:0;border-radius:0;padding:0 4px 0 18px;background:transparent}.overview-tab{display:flex;align-items:center;min-width:0;height:40px;border:0;border-radius:0;padding:0 10px;background:transparent;color:var(--ink-3);font-family:var(--font-mono);font-size:11px;line-height:1;white-space:nowrap;cursor:pointer}.overview-tab:hover{background:var(--paper-2);color:var(--ink)}.overview-tab--active,.overview-tab--active:hover{background:var(--paper-2);box-shadow:inset 0 -2px 0 var(--amber);color:var(--ink)}.overview-grid{display:grid;gap:12px}.overview-grid--ledger{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid--target{grid-template-columns:minmax(0,1fr)}.overview-panel{box-sizing:border-box;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:12px}.overview-panel--wide{width:100%}.overview-panel h3{margin:0 0 10px;color:var(--ink);font-size:.82rem;line-height:1.2;letter-spacing:0}.overview-table{width:100%;border-collapse:collapse;color:var(--ink-3);font-size:.76rem;line-height:1.35}.overview-table-scroll{width:100%;overflow-x:auto}.overview-table--ranked{min-width:680px}.overview-table th,.overview-table td{max-width:260px;border-bottom:1px solid var(--line-2);padding:7px 6px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.overview-table tr:last-child th,.overview-table tr:last-child td{border-bottom:0}.overview-table th{color:var(--ink);font-weight:650}.overview-table td{font-variant-numeric:tabular-nums}.overview-table--ranked thead th{border-bottom-color:var(--line);color:var(--muted-strong);font-size:.7rem;font-weight:700;text-transform:uppercase}.overview-table__term{display:block;font-variant-numeric:tabular-nums}.overview-kpi-list{display:grid;gap:8px;margin:0}.overview-kpi-list div{display:flex;justify-content:space-between;gap:12px}.overview-kpi-list dt{color:var(--muted-strong);font-size:.76rem}.overview-kpi-list dd{margin:0;color:var(--ink);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:right}.overview-expander{margin-right:6px;border-radius:4px;font-size:.72rem}.overview-expander:hover{background:var(--paper-3)}.overview-segmented{display:flex;align-items:center}.overview-segmented button{font:inherit}.overview-matrix-scroll{overflow-x:auto}.overview-matrix-table th,.overview-matrix-table td{max-width:180px;overflow-wrap:anywhere}.overview-matrix-table thead th{border-bottom-color:var(--line)}.overview-matrix-table tbody th,.overview-matrix-table tfoot th{color:var(--ink);font-weight:650}.overview-matrix-row--source th{border-left:3px solid #c77a0a}.overview-matrix-row--sink th{border-left:3px solid #0e7a8a}.overview-matrix-table tfoot th,.overview-matrix-table tfoot td{border-top:1px solid var(--line);border-bottom:0;background:var(--paper-2)}.overview-matrix-closure--ok{color:#16703a}.overview-matrix-closure--warn{color:#a36300}.overview-matrix-closure--bad{color:#b42318}.overview-matrix-closure--unavailable{color:var(--muted-strong)}.overview-target-context{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;min-width:0;border:1px solid var(--line);border-radius:0;background:var(--paper)}.overview-nav-stack .overview-target-context{border:0;border-bottom:1px solid var(--line);background:var(--paper)}.overview-target-nav-controls{display:flex;align-items:stretch;min-width:0;margin-left:auto;padding-right:14px;border-left:1px solid var(--line)}.overview-target-nav-control{display:flex;align-items:center;gap:6px;min-width:0;height:40px;padding:0 10px;border-right:1px solid var(--line-2);color:var(--ink-3);font-family:var(--font-mono);font-size:11px;line-height:1;white-space:nowrap}.overview-target-nav-control:last-child{border-right:0}.overview-target-nav-control span{color:var(--muted-strong);font-weight:600}.overview-target-nav-control select{min-width:0;max-width:150px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:11px;cursor:pointer}.overview-target-context__group{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:9px 16px;border-right:1px solid var(--line-2)}.overview-target-context__group--basis{flex:0 1 320px}.overview-target-context__group--rate{min-width:160px}.overview-target-context__group--segmented{flex-direction:row;align-items:center;gap:10px}.overview-target-context__key{color:var(--muted-strong);font-family:var(--font-mono);font-size:.62rem;font-weight:600;letter-spacing:.12em;line-height:1.1;text-transform:uppercase}.overview-target-context__value{color:var(--ink);font-family:var(--font-mono);font-size:.82rem;font-weight:650;line-height:1.25;font-variant-numeric:tabular-nums}.overview-target-context select{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.82rem;font-weight:600;line-height:1.25}.overview-target-context select:focus-visible,.overview-target-nav-control select:focus-visible,.overview-segmented button:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}.overview-target-context__spacer{flex:1 1 auto;min-width:16px}.overview-target-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;margin-right:10px;padding:5px 11px;font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap}.overview-target-chip:before{display:inline-block;font-weight:800}.overview-target-chip--closure{background:var(--amber-soft);color:var(--amber)}.overview-target-chip--closure:before{content:"!"}.overview-target-chip--ok{background:var(--cyan-soft);color:var(--cyan)}.overview-target-chip--ok:before{width:7px;height:7px;border-radius:50%;background:currentColor;content:""}.overview-target-chip--bad{background:var(--red-soft);color:var(--red)}.overview-target-chip--basis{background:var(--amber-soft);color:var(--amber)}.overview-target-chip--basis:before{width:7px;height:7px;background:currentColor;content:""}.overview-segmented{display:flex;align-items:center;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:0;background:var(--paper)}.overview-segmented button{min-height:30px;border:0;border-right:1px solid var(--line);padding:6px 11px;background:transparent;color:var(--muted-strong);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1.15;text-transform:uppercase;white-space:nowrap;cursor:pointer}.overview-segmented button:last-child{border-right:0}.overview-segmented button:hover{background:var(--paper-2);color:var(--ink)}.overview-segmented button.is-active,.overview-segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.overview-ledger{display:grid;gap:0;border:1px solid var(--line);background:var(--paper)}.overview-ledger-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}.overview-ledger-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-ledger-panel{min-width:0;background:var(--paper)}.overview-ledger-panel--sink,.overview-ledger-panel--component-sink{border-left:1px solid var(--line)}.overview-ledger-panel__header{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 18px;border-bottom:1px solid var(--line-2)}.overview-ledger-panel__header h3{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-size:.86rem;font-weight:700;line-height:1.2}.overview-ledger-panel__header>span{margin-left:auto;color:var(--muted-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.06em}.overview-ledger-panel__swatch{width:10px;height:10px;flex:0 0 auto;background:var(--ink)}.overview-ledger-panel__swatch--source{background:var(--amber)}.overview-ledger-panel__swatch--sink{background:var(--cyan)}.overview-ledger-panel__swatch--component-source{background:var(--amber)}.overview-ledger-panel__swatch--component-sink{background:var(--cyan)}.overview-ledger-table-wrap{min-width:0;overflow-x:auto}.overview-ledger-table{min-width:680px;color:var(--ink-3);font-size:.78rem}.overview-ledger-table th,.overview-ledger-table td{height:32px;border-bottom:1px solid var(--line-3);padding:6px 12px;vertical-align:middle}.overview-ledger-table th{text-align:left}.overview-ledger-table td{color:var(--ink);font-family:var(--font-mono);font-weight:600;text-align:right;white-space:nowrap}.overview-ledger-table thead th{position:sticky;top:0;z-index:1;background:var(--paper);color:var(--muted-strong);font-family:var(--font-mono);font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.overview-ledger-table thead th:not(:first-child){text-align:right}.overview-ledger-table thead th span{display:block;margin-top:1px;color:var(--muted-2);font-size:.58rem;font-weight:500;letter-spacing:.02em;text-transform:none}.overview-unit-selector{position:relative;display:inline-flex!important;justify-content:flex-end;margin-top:0!important;color:inherit!important;font-size:inherit!important;letter-spacing:inherit!important}.overview-unit-selector__button{display:inline-grid;justify-items:end;gap:1px;min-width:0;border:0;padding:0;background:transparent;color:var(--muted-strong);cursor:pointer;font:inherit;letter-spacing:inherit;text-align:right;text-transform:uppercase}.overview-unit-selector__button:hover{color:var(--ink)}.overview-unit-selector__button span,.overview-unit-selector__button small{display:block!important;margin-top:0!important}.overview-unit-selector__button small{color:var(--muted-2);font-size:.56rem;font-weight:650;letter-spacing:.04em;line-height:1.1;text-transform:none}.overview-unit-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:25;display:grid!important;min-width:108px;margin-top:0!important;border:1px solid var(--line);background:var(--paper);box-shadow:0 8px 18px #0b122029}.overview-unit-popover button{border:0;border-bottom:1px solid var(--line-2);padding:7px 10px;background:transparent;color:var(--ink-3);cursor:pointer;font:inherit;font-size:.68rem;letter-spacing:.04em;text-align:left}.overview-unit-popover button:last-child{border-bottom:0}.overview-unit-popover button:hover{background:var(--paper-2);color:var(--ink)}.overview-unit-popover button.is-active,.overview-unit-popover button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.overview-unit-popover button:disabled{background:transparent;color:var(--muted-2);cursor:not-allowed}.overview-ledger-row th{color:var(--ink);font-weight:700}.overview-ledger-row:hover th,.overview-ledger-row:hover td{background:var(--paper-3)}.overview-ledger-row th:first-child{display:flex;align-items:center;gap:8px}.overview-ledger-stripe{width:3px;height:17px;flex:0 0 auto;background:var(--phase-solid)}.overview-ledger-stripe--gas{background:var(--cyan)}.overview-ledger-stripe--energy{background:var(--amber)}.overview-expander{display:inline-flex;align-items:center;justify-content:center;width:14px;height:18px;margin:0;border:0;background:transparent;color:var(--muted-strong);font:inherit;line-height:1;cursor:pointer}.overview-expander span{display:block;transform:rotate(0);transition:transform .12s ease}.overview-expander[aria-expanded=true] span{color:var(--amber);transform:rotate(90deg)}.overview-ledger-expander-spacer{width:14px;height:18px;flex:0 0 auto}.overview-ledger-child-row th,.overview-ledger-child-row td{height:26px;background:var(--paper-2);color:var(--muted-strong);font-family:var(--font-mono);font-size:.72rem;font-weight:600}.overview-ledger-child-row th{padding-left:44px}.overview-ledger-subheading th{height:24px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);background:var(--paper-3);color:var(--muted-strong);font-family:var(--font-mono);font-size:.64rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.overview-ledger-row--utility th,.overview-ledger-row--utility td{background:var(--paper-2)}.overview-ledger-value{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--amber);font-family:var(--font-mono);font-weight:750}.overview-ledger-value--sink{color:var(--cyan)}.overview-ledger-value__bar{display:inline-block;width:60px;height:3px;background:var(--line-2)}.overview-ledger-value__bar span{display:block;height:100%;background:currentColor}.overview-ledger-sum th,.overview-ledger-sum td{border-top:2px solid var(--line);background:var(--paper-3);color:var(--muted-strong);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.overview-ledger-sum td:last-child{color:var(--ink);text-transform:none}.overview-ledger-table--components{min-width:660px}.overview-ledger-distribution{display:inline-block;width:min(340px,70%);height:6px;background:var(--line-2)}.overview-ledger-distribution span{display:block;height:100%;background:var(--amber)}.overview-ledger-distribution--sink span{background:var(--cyan)}.overview-matrix-panel{min-width:0;border-radius:0;padding:0;overflow:hidden}.overview-matrix-titlebar{display:flex;align-items:center;gap:10px;min-height:40px;padding:10px 18px;border-bottom:1px solid var(--line-2)}.overview-matrix-titlebar h3{margin:0;color:var(--ink);font-size:.86rem;font-weight:700}.overview-matrix-titlebar span{margin-left:auto;color:var(--muted-strong);font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.overview-matrix-scroll{width:100%;overflow:auto}.overview-matrix-table{min-width:1200px;width:100%;border-collapse:collapse;color:var(--ink-3);font-size:.76rem;line-height:1.3}.overview-matrix-table th,.overview-matrix-table td{border-right:1px solid var(--line-3);border-bottom:1px solid var(--line-3);padding:8px 10px;text-align:right;vertical-align:middle;font-variant-numeric:tabular-nums}.overview-matrix-table th:first-child,.overview-matrix-table td:first-child{min-width:220px;text-align:left}.overview-matrix-table thead th{position:sticky;top:0;z-index:2;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:none}.overview-matrix-table thead th:first-child{left:0;z-index:3;color:var(--muted-strong);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.overview-matrix-table thead th span{display:block;margin-top:2px;color:var(--muted-strong);font-size:.62rem;font-weight:600}.overview-matrix-row-total-heading{color:var(--amber)!important}.overview-matrix-group th{background:var(--paper-3);color:var(--muted-strong);font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-align:left;text-transform:uppercase}.overview-matrix-group__dot{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:currentColor}.overview-matrix-row th{position:sticky;left:0;z-index:1;display:flex;align-items:center;gap:9px;background:var(--paper);color:var(--ink);font-weight:700}.overview-matrix-row:hover th,.overview-matrix-row:hover td{background:var(--paper-3)}.overview-matrix-row__stripe{width:3px;height:17px;flex:0 0 auto;background:var(--amber)}.overview-matrix-row__stripe--sink{background:var(--cyan)}.overview-matrix-cell{position:relative;min-width:110px;height:33px;overflow:hidden;font-family:var(--font-mono);font-weight:700}.overview-matrix-cell__heat{position:absolute;inset:0 auto 0 0;background:var(--amber-soft)}.overview-matrix-cell--sink .overview-matrix-cell__heat{background:var(--cyan-soft)}.overview-matrix-cell__value{position:relative;z-index:1}.overview-matrix-cell--source .overview-matrix-cell__value,.overview-matrix-row-total--source{color:var(--amber)}.overview-matrix-cell--sink .overview-matrix-cell__value,.overview-matrix-row-total--sink{color:var(--cyan)}.overview-matrix-cell--unavailable .overview-matrix-cell__value{color:var(--muted-strong)}.overview-matrix-row-total{background:var(--paper-3);font-family:var(--font-mono);font-weight:800;white-space:nowrap}.overview-matrix-table tfoot th,.overview-matrix-table tfoot td{font-family:var(--font-mono);font-weight:800}.overview-matrix-sum th,.overview-matrix-sum td{background:var(--paper-3);color:var(--muted-strong)}.overview-matrix-sum--source td{color:var(--amber)}.overview-matrix-sum--sink td{color:var(--cyan)}.overview-matrix-closure-row th,.overview-matrix-closure-row td{border-bottom:0;background:var(--ink);color:var(--paper)}.overview-matrix-closure-row th{color:var(--paper);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.overview-matrix-closure{white-space:nowrap}.overview-matrix-closure small{margin-left:4px;font-size:.62rem;opacity:.72}.overview-matrix-closure--ok{color:var(--cyan)!important}.overview-matrix-closure--warn{color:var(--amber)!important}.overview-matrix-closure--bad{color:var(--red)!important}.overview-matrix-closure--unavailable{color:var(--muted-2)!important}.overview-matrix-trailing{display:flex;align-items:center;gap:24px;min-height:56px;padding:10px 18px;border-top:1px solid var(--line-2);background:var(--paper-2);overflow-x:auto}.overview-matrix-trailing__item{display:grid;gap:2px;min-width:max-content}.overview-matrix-trailing__label{color:var(--muted-strong);font-family:var(--font-mono);font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.overview-matrix-trailing__flow,.overview-matrix-trailing__target{color:var(--ink);font-family:var(--font-mono);font-size:.8rem;font-weight:800;font-variant-numeric:tabular-nums}.overview-matrix-trailing__target{font-size:.72rem}.overview-matrix-trailing__target--source{color:var(--amber)}.overview-matrix-trailing__target--sink{color:var(--cyan)}.overview-matrix-legend{display:flex;align-items:center;gap:9px;margin-left:auto;color:var(--muted-strong);font-family:var(--font-mono);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.overview-matrix-legend__ramp{display:inline-block;width:64px;height:5px;background:linear-gradient(to right,transparent,var(--amber))}.overview-matrix-legend__ramp--sink{background:linear-gradient(to right,transparent,var(--cyan))}.overview-matrix-legend__divider{color:var(--muted-2)}@media(max-width:980px){.overview-nav-bar{flex-wrap:wrap}.overview-tabs{display:flex;flex-wrap:wrap;width:100%}.overview-tab{flex:1 1 9rem;white-space:normal}.overview-grid--ledger{grid-template-columns:1fr}.overview-target-context{flex-direction:column}.overview-nav-stack .overview-tabs{flex:1 1 100%;padding:0 4px}.overview-target-nav-controls{flex:1 1 100%;margin-left:0;padding:0 4px;border-top:1px solid var(--line-2);border-left:0}.overview-target-nav-control{flex:1 1 10rem}.overview-target-context__group{border-right:0;border-bottom:1px solid var(--line-2)}.overview-target-context__group--segmented{align-items:stretch;flex-direction:column}.overview-target-context__spacer{display:none}.overview-target-chip{align-self:stretch;justify-content:center;margin:8px 12px 0}.overview-ledger-balance,.overview-ledger-components{grid-template-columns:1fr}.overview-ledger-panel--sink,.overview-ledger-panel--component-sink{border-top:1px solid var(--line);border-left:0}.overview-segmented{width:100%}.overview-segmented button{flex:1 1 0;min-width:0;white-space:normal}}.workbench-workspace{box-sizing:border-box;display:flex;width:100%;height:100%;min-height:0;background:var(--paper);color:var(--ink);overflow:hidden}.workbench-rail{display:flex;flex-direction:column;flex:0 0 228px;min-width:0;min-height:0;border-right:1px solid var(--line);background:var(--paper);overflow-y:auto}.workbench-rail__header{padding:10px 12px;border-bottom:1px solid var(--line);background:var(--paper-2)}.workbench-rail__group{padding:8px 0 4px;border-bottom:1px solid var(--line-3)}.workbench-rail__item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 14px 10px 12px;border:0;border-left:2px solid transparent;background:transparent;color:var(--ink-3);font-family:var(--font-ui);font-size:13px;line-height:1.45;text-align:left;cursor:pointer}.workbench-rail__item:hover{background:var(--paper-3);color:var(--ink)}.workbench-rail__item--active,.workbench-rail__item--active:hover{border-left-color:var(--amber);background:var(--amber-soft);color:var(--ink)}.workbench-rail__block{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:8px 12px 6px 10px;border:0;border-left:2px solid transparent;background:transparent;color:var(--ink-2);font-family:var(--font-ui);font-size:12px;font-weight:700;text-align:left;cursor:pointer}.workbench-rail__block:hover{background:var(--paper-3);color:var(--ink)}.workbench-rail__block--active,.workbench-rail__block--active:hover{border-left-color:var(--amber);background:var(--amber-soft);color:var(--ink)}.workbench-rail__block-id{font-family:var(--font-mono);font-size:10px;font-weight:400;color:var(--muted-strong)}.workbench-rail__item--example{padding-left:22px;box-shadow:inset 10px 0 0 -9px var(--line-3)}.workbench-rail__item-title{display:block;font-weight:600}.workbench-rail__item-title .workbench-rail__badge{display:table;margin-top:6px}.workbench-rail{overflow-x:hidden}.workbench-baseline-table{table-layout:fixed}.workbench-baseline-table th:first-child{width:30%;overflow-wrap:anywhere}.workbench-baseline-table thead th{overflow-wrap:normal}@media(max-width:1120px){.workbench-baseline-table th,.workbench-baseline-table td{padding:9px 4px;font-size:12px}}.workbench-rail__item-id{font-family:var(--font-mono);font-size:10px;color:var(--muted-strong);overflow-wrap:anywhere}.workbench-rail__badge{flex:0 0 auto;padding:1px 4px;border:1px solid var(--cyan);background:var(--cyan-soft);color:var(--cyan);font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.08em}.workbench-rail__empty,.workbench-rail__error{padding:12px;font-size:11px;color:var(--muted-strong)}.workbench-rail__error{color:var(--red)}.workbench-rail__invalid{margin-top:auto;border-top:1px solid var(--line-2);padding:10px 12px 12px}.workbench-rail__invalid-item{margin-top:6px;font-family:var(--font-mono);font-size:10px;line-height:1.4;color:var(--muted-2);overflow-wrap:anywhere}.workbench-main{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;padding:0 24px 24px}.workbench-main--scenario>*{max-width:1680px}.workbench-section-title{margin:0;color:var(--ink);font:600 16px/1.4 var(--font-ui)}.workbench-auto,.workbench-view-tools,.workbench-example-nav,.workbench-baseline-review{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font:13px/1.4 var(--font-ui)}.workbench-view-tools{margin-top:12px}.workbench-auto input{accent-color:var(--amber)}.workbench-edit-note{color:var(--muted-strong);margin-left:auto}.workbench-baseline-review{padding:12px 0}.workbench-baseline-review>span{margin-right:auto}.workbench-inputs-fieldset{min-width:0;padding:0;margin:0;border:0}.workbench-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.workbench-definition{padding-right:18px;border-right:1px solid var(--line)}.workbench-input-group{padding:8px 0 16px;border-bottom:1px solid var(--line)}.workbench-input-group h4{margin:0 0 12px;color:var(--ink-2);font:500 14px/1.4 var(--font-ui);text-transform:capitalize}.workbench-input-group .workbench-field{display:grid;grid-template-columns:minmax(0,1fr) 86px 44px;gap:6px;padding:5px 0;align-items:center}.workbench-input-group .workbench-field__label{min-width:0}.workbench-input-group .workbench-input{width:100%;min-width:0}.workbench-input-group .workbench-select{grid-column:2 / -1;min-width:0;width:100%;font:13px var(--font-ui);padding:6px}.workbench-input-group .workbench-field__readonly{grid-column:2 / -1;overflow-wrap:anywhere}.workbench-input-composition{margin-top:14px}.workbench-input-composition .workbench-field{grid-template-columns:minmax(0,1fr) 86px 44px}.workbench-default-label{display:block;font-size:11px;color:var(--muted-strong)}.workbench-result-summary{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:var(--muted-strong)}.workbench-summary--error{color:var(--red)}.workbench-stale-note{padding:10px 12px;background:var(--amber-soft);color:var(--amber-ink);font-size:13px}.workbench-result-unit{display:block;margin-top:3px;color:var(--muted-strong);font-size:12px;font-weight:400}.workbench-table-scroll{overflow-x:auto}.workbench-detail{min-width:0;border-top:1px solid var(--line)}.workbench-detail>summary{padding:12px 0;font:500 13px/1.4 var(--font-ui);cursor:pointer}.workbench-detail>.workbench-panel{margin-bottom:12px;overflow-x:auto}.workbench-empty{padding:48px 12px;text-align:center;color:var(--muted-strong);font-size:12px}.workbench-header{padding:16px 0 14px;border-bottom:1px solid var(--line)}.workbench-header__eyebrow-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.workbench-header__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.workbench-header__title{margin:0;color:var(--ink-2);font-size:20px;line-height:1.25}.workbench-header__spacer{flex:1 1 auto}.workbench-header__crumb{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.workbench-header__crumb:hover{text-decoration:underline dotted}.workbench-block-page{display:flex;flex-direction:column;gap:14px;padding:16px 0 24px;min-width:0}.workbench-block-page__header{display:flex;flex-direction:column;gap:6px}.workbench-block-page__id{margin-left:10px;font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--muted-strong)}.workbench-block-page__examples{border:1px solid var(--line);background:var(--paper);padding:12px 16px 14px;display:flex;flex-direction:column;gap:6px}.workbench-block-page__example{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border:1px solid var(--line-3);background:var(--paper-2);color:var(--ink-2);font-family:var(--font-ui);font-size:12.5px;text-align:left;cursor:pointer}.workbench-block-page__example:hover{border-color:var(--amber);background:var(--amber-soft);color:var(--ink)}.workbench-block-page__example-title{display:flex;align-items:center;gap:6px;font-weight:600}.workbench-block-page__example-id{font-family:var(--font-mono);font-size:10px;color:var(--muted-strong)}.workbench-block-page__missing{margin:0;color:var(--muted-strong);font-size:12.5px}.workbench-composition{border:1px solid var(--line);background:var(--paper);padding:12px 16px 14px;display:flex;flex-direction:column;gap:6px}.workbench-composition__row{display:grid;grid-template-columns:minmax(140px,max-content) minmax(90px,max-content) 1fr;gap:4px 14px;align-items:baseline}.workbench-composition__via{color:var(--muted-strong)}.workbench-header__freeze-note{margin-top:6px;font-family:var(--font-mono);font-size:10px;color:var(--cyan);overflow-wrap:anywhere}.workbench-note{margin-top:8px;border:1px solid var(--line);padding:6px 8px;font-size:11px;overflow-wrap:anywhere}.workbench-note--error{border-color:var(--red);background:var(--red-soft);color:var(--red)}.workbench-button{padding:7px 11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:13px;font-weight:500;letter-spacing:normal;cursor:pointer}.workbench-button:hover:not(:disabled){background:var(--paper-3)}.workbench-button:disabled{color:var(--muted-2);cursor:default}.workbench-button--primary{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-ink)}.workbench-button--primary:hover:not(:disabled){background:var(--amber);color:var(--paper)}.workbench-comparison-layout{display:grid;grid-template-columns:minmax(260px,min(34%,400px)) minmax(0,1fr);gap:20px;align-items:start;padding:22px 0}.workbench-comparison-layout>*{min-width:0}@media(max-width:1120px){.workbench-rail{flex-basis:180px}.workbench-main{padding-left:16px;padding-right:16px}}@media(max-width:899px){.workbench-comparison-layout{grid-template-columns:minmax(0,1fr)}.workbench-definition{border-right:0;padding-right:0}}@media(max-width:700px){.workbench-workspace{flex-direction:column;overflow-y:auto}.workbench-rail{flex:0 0 160px;width:100%;border-right:0;border-bottom:1px solid var(--line)}.workbench-main{overflow-y:visible;padding:0 14px 18px;flex:1 0 auto}.workbench-header__title{font-size:18px}}.workbench-definition,.workbench-results{display:flex;flex-direction:column;gap:12px;min-width:0}.workbench-results{padding-top:0}.workbench-td--unit{width:1%;white-space:nowrap;padding-left:4px}.workbench-panel{border:0;background:var(--paper)}.workbench-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line-2);background:var(--paper)}.workbench-panel__head .smallcaps{text-transform:none;letter-spacing:normal;font-size:13px}.workbench-panel__empty{padding:10px;font-size:11px;color:var(--muted-strong)}.workbench-field{display:flex;align-items:center;gap:8px;min-width:0}.workbench-field__label{flex:0 0 auto;min-width:84px;color:var(--ink-3);font-size:13px;overflow-wrap:anywhere}.workbench-field__unit{flex:0 0 auto;font-family:var(--font-mono);font-size:12px;color:var(--muted-strong)}.workbench-input{box-sizing:border-box;width:110px;padding:6px 8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.workbench-input:focus{outline:none;border-color:var(--amber)}.workbench-checkbox{margin:4px 0;accent-color:var(--amber)}.workbench-phase__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.workbench-field__readonly{font-family:var(--font-mono);font-size:11px;color:var(--muted-strong);padding-top:4px;overflow-wrap:anywhere}.workbench-table{width:100%;border-collapse:collapse;color:var(--ink-3);font-size:13px}.workbench-table th,.workbench-table td{padding:9px 8px;border-bottom:1px solid var(--line-2);text-align:left;vertical-align:middle}.workbench-table thead th{border-bottom:1px solid var(--line);background:var(--paper-2);color:var(--muted-strong);font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:normal}.workbench-th--mono{font-family:var(--font-mono);font-weight:600;color:var(--ink)}.workbench-table .workbench-td--num{text-align:right;font-variant-numeric:tabular-nums}.workbench-row--fail{background:var(--red-soft)}.workbench-row--total th,.workbench-row--total td{border-top:1px solid var(--line);border-bottom:0;color:var(--ink);font-weight:650}.workbench-tolerance{font-family:var(--font-mono);font-size:10px;color:var(--muted-strong)}.workbench-energy{padding:6px 10px 10px}.workbench-energy__row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:3px 0;font-size:11px}.workbench-energy__dir{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;color:var(--muted-strong)}.workbench-energy__label{color:var(--ink-3);overflow-wrap:anywhere}.workbench-energy__row--residual{margin-top:4px;border-top:1px solid var(--line);padding-top:6px;color:var(--ink);font-weight:650}.workbench-outlet__stats{display:flex;flex-wrap:wrap;gap:18px;padding:8px 10px;border-bottom:1px solid var(--line-3)}.workbench-issue{padding:6px 10px;border-bottom:1px solid var(--line-3);font-size:11px;overflow-wrap:anywhere}.workbench-issue:last-child{border-bottom:0}.workbench-issue--error{background:var(--red-soft);color:var(--red)}.workbench-issue--warn{background:var(--amber-soft);color:var(--amber-ink)}.workbench-rail__new{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line-2)}.workbench-rail__new-button{width:100%}.workbench-select{box-sizing:border-box;max-width:100%;padding:3px 6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:11px}.workbench-select:focus{outline:none;border-color:var(--amber)}.workbench-rail__badge--draft{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-ink)}.workbench-rail__item--draft{cursor:default}.workbench-header__id-input{width:220px;text-align:left;font-size:11px}.workbench-header__title-input{box-sizing:border-box;min-width:220px;flex:0 1 auto;padding:2px 6px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font-family:var(--font-ui);font-size:1.1rem;line-height:1.25;font-weight:600}.workbench-header__title-input:focus,.workbench-header__description-input:focus{outline:none;border-color:var(--amber)}.workbench-header__description-input{box-sizing:border-box;width:100%;max-width:78ch;margin:10px 0 0;padding:4px 6px;border:1px solid var(--line);background:var(--paper);color:var(--ink-3);font-family:var(--font-ui);font-size:.84rem;line-height:1.55;resize:vertical}.workbench-results__toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 10px;border:1px solid var(--line);background:var(--paper-2)}.workbench-row--highlight th,.workbench-row--highlight td{background:var(--amber-soft)}.workbench-row--highlight>:first-child{box-shadow:inset 2px 0 0 var(--amber)}.workbench-sweep__toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:var(--paper-2);color:var(--ink);font-family:var(--font-ui);text-align:left;cursor:pointer}.workbench-sweep__toggle:hover{background:var(--paper-3)}.workbench-sweep__summary{font-family:var(--font-mono);font-size:10px;color:var(--muted-strong);overflow-wrap:anywhere}.workbench-sweep__caret{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted-strong)}.workbench-sweep__body{border-top:1px solid var(--line-2);padding:10px;display:flex;flex-direction:column;gap:10px}.workbench-sweep__controls{display:flex;flex-direction:column;gap:8px}.workbench-sweep__knob .workbench-select{flex:1 1 auto;min-width:0}.workbench-sweep__range{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.workbench-sweep__samples{width:64px}.workbench-sweep__observables{display:flex;flex-direction:column;gap:4px}.workbench-sweep__observable-list{display:flex;flex-wrap:wrap;gap:8px 18px;max-height:180px;overflow-y:auto;border:1px solid var(--line-2);background:var(--paper);padding:8px 10px}.workbench-sweep__observable-group{display:flex;flex-direction:column;gap:2px;min-width:140px}.workbench-sweep__observable{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3);cursor:pointer}.workbench-sweep__observable-name{font-family:var(--font-mono);overflow-wrap:anywhere}.workbench-sweep__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.workbench-sweep__hint{font-size:11px;color:var(--red)}.workbench-sweep__results{display:flex;flex-direction:column;gap:8px}.workbench-sweep__plot{border:1px solid var(--line)}.workbench-sweep__footnote{font-family:var(--font-mono);font-size:10px;color:var(--red);overflow-wrap:anywhere}.workbench-sweep__table-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.workbench-sweep__table-wrap{max-height:260px;overflow:auto;border:1px solid var(--line-2)}.workbench-stage{position:relative;height:240px;border:1px solid var(--line);overflow:hidden}.workbench-stage__canvas{width:100%;height:100%}.workbench-stage__placeholder{display:flex;align-items:center;justify-content:center;height:100%;background:var(--paper);font-size:12px;color:var(--muted-strong)}.workbench-knowledge{border:1px solid var(--line);background:var(--paper);padding:14px 20px 16px;display:flex;flex-direction:column;gap:10px}.workbench-knowledge__intro{margin:0;font-size:13px;line-height:1.55;color:var(--ink-2);max-width:88ch}.workbench-knowledge__section{display:flex;flex-direction:column;gap:8px}.workbench-knowledge__section-title{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.workbench-knowledge__p{margin:0;font-size:13px;line-height:1.55;color:var(--ink-2);max-width:88ch}.workbench-knowledge__note{margin:0;font-size:12.5px;line-height:1.5;color:var(--amber-ink);background:var(--amber-soft);border-left:3px solid var(--amber);padding:8px 12px;max-width:88ch}.workbench-knowledge__xref{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-2);border-left:3px solid var(--line);padding:4px 0 4px 12px;max-width:88ch}.workbench-knowledge__xref-link{font-family:inherit;font-size:inherit;line-height:inherit;padding:0;border:0;background:none;color:var(--amber-ink);text-decoration:underline dotted var(--amber);text-underline-offset:3px;cursor:pointer}.workbench-knowledge__xref-link:hover{text-decoration-style:solid}.workbench-knowledge__xref-link:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.workbench-knowledge__embed{border:1px solid var(--line);background:var(--paper-2);padding:10px 12px;display:flex;flex-direction:column;gap:8px;max-width:88ch}.workbench-knowledge__embed-head{display:flex;align-items:center;gap:14px}.workbench-knowledge__embed-toggle{padding:0;border:0;background:none;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-strong);cursor:pointer}.workbench-knowledge__embed-toggle:focus-visible,.workbench-knowledge__embed-toggle:hover{color:var(--ink)}.workbench-knowledge__embed-body{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line-2);padding-top:10px}.workbench-knowledge__embed-loading{margin:0;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}.workbench-knowledge__svg svg{display:block;width:100%;max-width:1140px;min-width:760px;height:auto;margin:0 auto}.workbench-knowledge__svg [data-link]{cursor:pointer}.workbench-knowledge__svg [data-link]:hover{opacity:.8}.workbench-knowledge__svg svg.workbench-diagram{display:block;width:100%;max-width:1140px;min-width:760px;height:auto;margin:0 auto}.workbench-knowledge__svg svg[aria-label="Component overview"]{min-width:0;max-width:none;width:100%}.workbench-knowledge>.workbench-knowledge__diagram:first-child{margin:0 0 20px;padding:12px 0;border:0;border-bottom:1px solid var(--line)}.workbench-knowledge>.workbench-knowledge__diagram:first-child figcaption{font-family:var(--font-ui);font-size:13px;text-align:left;margin-top:8px}.workbench-diagram__link{cursor:pointer}.workbench-diagram__link:hover{opacity:.8}.workbench-diagram__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workbench-rail__group-label{padding:4px 12px 4px 10px}.workbench-knowledge__formula{margin:0;font-family:var(--font-ui);font-size:15px;line-height:1.6;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-2);padding:10px 14px;overflow-x:auto;max-width:100%}.workbench-knowledge__list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--ink-2);max-width:88ch}.workbench-knowledge__list--refs a{color:inherit;text-decoration:underline;text-underline-offset:2px}.workbench-knowledge__table-wrap{overflow-x:auto;border:1px solid var(--line-2)}.workbench-knowledge__table{width:100%;border-collapse:collapse;font-size:12.5px}.workbench-knowledge__table th{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--muted-strong);border-bottom:1px solid var(--line);padding:6px 10px}.workbench-knowledge__table td{vertical-align:top;padding:7px 10px;border-bottom:1px solid var(--line-3, var(--line-2));line-height:1.45;color:var(--ink-2)}.workbench-knowledge__table td:first-child{font-family:var(--font-mono);font-size:11.5px;white-space:nowrap;color:var(--ink)}.workbench-knowledge__diagram{margin:4px 0 0;border:1px solid var(--line-2);background:#fff;padding:10px 12px;overflow-x:auto}.workbench-knowledge__diagram figcaption{margin-top:6px;font-family:var(--font-mono);font-size:10px;color:var(--muted-strong);text-align:center}.workbench-block-page{max-width:1500px;margin-inline:auto}.workbench-knowledge--reference{border:0;background:var(--paper)}.workbench-knowledge--reference .workbench-knowledge__intro{padding:0 0 20px;max-width:100ch;font-size:14px;line-height:1.65}.workbench-reference-layout{display:grid;grid-template-columns:205px minmax(0,1fr);border-top:1px solid var(--line)}.workbench-reference-nav{display:flex;flex-direction:column;padding:12px 16px 12px 0;border-right:1px solid var(--line);gap:3px}.workbench-reference-nav button{text-align:left;padding:9px 10px;background:transparent;border:0;border-left:2px solid transparent;color:var(--ink-3);font:13px/1.4 var(--font-ui);cursor:pointer}.workbench-reference-nav button:hover{background:var(--paper-2)}.workbench-reference-nav button[aria-current]{background:var(--amber-soft);border-left-color:var(--amber);color:var(--ink)}.workbench-reference-content{min-width:0;padding:20px 0 24px 24px}.workbench-reference-content .workbench-knowledge__section{padding:0;border:0}.workbench-reference-content .workbench-knowledge__section-title{margin:0 0 16px;font:600 18px/1.4 var(--font-ui);text-transform:none;letter-spacing:0}.workbench-reference-content .workbench-knowledge__p,.workbench-reference-content .workbench-knowledge__list{font-size:14px;line-height:1.65;max-width:85ch}.workbench-reference-content .workbench-knowledge__formula{overflow-x:auto;font-size:15px;line-height:1.65;background:var(--paper-2);border-left:2px solid var(--line);padding:16px}.math-equation--display{display:block;max-width:100%;overflow-x:auto;padding:4px 0}.math-equation--display .katex-display{margin:.5em 0;text-align:left}.math-equation--display .katex-display>.katex{text-align:left}.workbench-baseline-source{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;font-size:13px}.workbench-baseline-source dt{color:var(--muted-strong)}.workbench-baseline-source dd{margin:0;overflow-wrap:anywhere}.workbench-reference-content .workbench-knowledge__table{font-size:13px;line-height:1.5}.workbench-reference-content .workbench-knowledge__table th{font:600 12px/1.5 var(--font-ui);text-transform:none;letter-spacing:0}.workbench-composition summary{cursor:pointer;font:600 14px var(--font-ui);padding:8px 0}.workbench-property-plot__controls{display:flex;gap:20px;flex-wrap:wrap}.workbench-property-plot__controls label{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:180px}.workbench-property-plot__sample{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:13px}.workbench-property-plot__sample input{flex:1;min-width:120px;accent-color:var(--amber)}.workbench-property-plot__source{font-size:12px;color:var(--muted-strong);line-height:1.5}@media(max-width:1050px){.workbench-reference-layout{grid-template-columns:minmax(0,1fr)}.workbench-reference-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:10px 0}.workbench-reference-content{padding-left:0}}:root{--hit: 24px;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--kb: 0px}html[data-input=touch]{--hit: 44px}html[data-input=touch] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){font-size:16px}.app-shell{padding:var(--safe-t) var(--safe-r) 0 var(--safe-l)}.v2-topbar{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.v2-topbar::-webkit-scrollbar{display:none}.v2-topbar>*,.v2-topbar__metrics>*{flex-shrink:0}.v2-topbar__more{display:none;align-items:center;justify-content:center;min-width:max(var(--hit),36px);padding:0;border:0;border-left:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:18px;cursor:pointer}.v2-topbar__solve{min-width:var(--hit)}html[data-input=touch] .v2-topbar__solve-hint{display:none}html:not([data-layout=wide]) .topbar-menu--data{display:none}html:not([data-layout=wide]) .v2-topbar__more{display:flex}html[data-input=touch] .v2-topbar{height:calc(var(--hit) + 4px)}html[data-layout=compact] .v2-topbar{margin-bottom:0}html[data-layout=compact] .topbar-menu--chip,html[data-layout=compact] .topbar-menu__prefix{display:none}html[data-layout=compact] .topbar-menu--scenario{flex:1 1 0;min-width:0}html[data-layout=compact] .topbar-menu--scenario>button{width:100%;min-width:0;justify-content:space-between}html[data-layout=compact] .topbar-menu--scenario .topbar-menu__label{flex:1 1 0}html[data-layout=compact] .topbar-menu--scenario .topbar-menu__label b{max-width:100%}html[data-layout=compact] .topbar-menu--view>button{padding:0 6px}html[data-layout=compact] .v2-topbar__metrics{margin-left:0}html[data-layout=compact] .v2-topbar__solve{padding:0 12px}.app-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:flex;align-items:flex-end;background:#0f172a52}.app-sheet{display:flex;flex-direction:column;width:100%;max-height:80vh;max-height:80dvh;padding-bottom:var(--safe-b);background:var(--paper);border-top:1px solid var(--line);color:var(--ink);font-family:var(--font-mono);font-size:12px}html[data-layout=medium] .app-sheet-backdrop{align-items:flex-start;justify-content:flex-end;background:transparent}html[data-layout=medium] .app-sheet{width:min(360px,100%);margin:52px 8px 0 0;max-height:calc(100dvh - 56px);border:1px solid var(--ink-3);box-shadow:var(--shadow)}.app-sheet__head{display:flex;align-items:center;justify-content:space-between;min-height:var(--hit);padding-left:12px;border-bottom:1px solid var(--line);background:var(--paper-2)}.app-sheet__title{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--amber)}.app-sheet__close{align-self:stretch;min-width:var(--hit);padding:0 14px;border:0;border-left:1px solid var(--line);background:none;color:var(--ink);font:inherit;cursor:pointer}.app-sheet__body{display:grid;gap:14px;padding:10px 12px 14px;overflow-y:auto;overscroll-behavior:contain}.app-sheet__group{display:grid;gap:4px}.app-sheet__group-label{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-strong)}.app-sheet__item{display:flex;align-items:center;width:100%;min-height:max(var(--hit),32px);padding:0 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);font:inherit;text-align:left;cursor:pointer}.app-sheet__item:disabled{color:var(--muted-2);background:var(--paper-3);cursor:not-allowed}html[data-layout=compact] .modal-backdrop{bottom:var(--kb);padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);place-items:stretch}html[data-layout=compact] .modal-backdrop>.v2-modal,html[data-layout=compact] .investigation-modal__panel{width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none}html[data-layout=compact] .investigation-modal{place-items:stretch}html[data-layout=compact] .workspace-picker-modal__footer-group{flex:1 1 100%}html[data-layout=compact] .workspace-picker-modal__button--primary{flex:1 0 100%;order:99}html[data-input=touch] .workspace-picker-modal__button{min-height:var(--hit)}html[data-input=touch] .react-flow{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html[data-input=touch] .process-node__actions{display:none}html[data-input=touch] .editable-edge__hit{stroke-width:calc(36px / var(--canvas-zoom, 1))}html[data-input=touch]:not([data-layout=compact]) .process-node .react-flow__handle:before{content:"";position:absolute;left:50%;top:50%;width:calc(36px / var(--canvas-zoom, 1));height:calc(36px / var(--canvas-zoom, 1));border-radius:50%;transform:translate(-50%,-50%)}.v2-canvas .editable-edge__line.is-selected{stroke-width:3.4}html[data-layout=compact] .v2-canvas__breadcrumb{gap:8px;white-space:nowrap;overflow:hidden}html[data-layout=compact] :is(.v2-canvas__breadcrumb-key,.v2-canvas__breadcrumb-value,.v2-canvas__breadcrumb-sep){display:none}.selection-bar{position:absolute;left:8px;right:8px;bottom:calc(8px + var(--safe-b));z-index:6;display:flex;align-items:stretch;gap:6px;padding:6px;border:1px solid var(--line);background:var(--paper);box-shadow:0 6px 18px #202f3e24;font-family:var(--font-mono);font-size:12px}.selection-bar__subject{display:grid;flex:1 1 auto;align-content:center;min-width:0;padding:0 4px}.selection-bar__kind{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.selection-bar__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-weight:600}.selection-bar__action{flex:0 0 auto;min-width:var(--hit);min-height:var(--hit);padding:0 12px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.selection-bar__action--danger{color:var(--red)}.flow-canvas:has(.selection-bar) .react-flow__controls{margin-bottom:calc(var(--hit) + 24px + var(--safe-b))}.workspace-main{position:relative}.v2-dock--drawer{position:absolute;top:0;bottom:0;left:0;z-index:20;width:min(320px,85%);box-shadow:0 12px 32px #202f3e38}html[data-input=touch] .v2-dock__item{min-height:var(--hit)}html[data-input=touch] :is(.v2-dock__item-hot,.v2-dock__footer-keys){display:none}.workspace-alert--lease{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;background:#f1e7c9;color:#5d4a12}.workspace-alert__action{min-height:var(--hit);padding:0 12px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.workspace-alert__action:disabled{opacity:.5;cursor:not-allowed}.source-materials-modal .em-grid{font:12px var(--font-mono);color:var(--ink)}.source-materials-modal .em-col-val{width:104px}.source-materials-modal .em-col-unit{width:76px}.source-materials-modal .em-name{padding-left:10px!important}.source-materials-modal .em-eg__line td{height:auto;padding-top:4px;padding-bottom:4px;line-height:1.45;white-space:normal}.stream-view-workspace{position:relative;width:100%;height:100%;background:var(--paper)}.stream-view-workspace .react-flow__node{opacity:var(--stream-view-block-opacity, .55)}.stream-view-workspace .react-flow__handle{visibility:hidden}.stream-view-edge__run{stroke:none}.stream-view-edge__inert{stroke:var(--phase-off);stroke-width:1.5;stroke-dasharray:3 3;fill:none;opacity:.7}.stream-view-edge__direction{fill:var(--paper);stroke:var(--ink-3);stroke-width:1}.stream-view-edge__label{position:absolute;display:flex;flex-direction:column;align-items:center;padding:2px 6px;font-family:var(--font-mono);font-size:10.5px;line-height:1.3;color:var(--ink-2);background:var(--paper);border:1px solid var(--line);white-space:nowrap;pointer-events:none}.stream-view-edge__change{color:var(--muted-strong)}.pressure-internal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none;z-index:1001}.pressure-internal__casing{fill:none;stroke:var(--paper);stroke-linejoin:round;stroke-linecap:round}.pressure-internal__line{fill:none;stroke-linejoin:round;stroke-linecap:round}.pressure-internal__chip{fill:var(--paper);stroke:var(--ink-3);stroke-width:1}.pressure-internal__text{font-family:var(--font-mono);font-size:10.5px;fill:var(--ink-2)}.stream-view-legend{position:absolute;top:12px;left:12px;z-index:5;display:flex;flex-direction:column;gap:4px;width:300px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);overflow-y:auto;padding:8px 10px;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--amber)}.stream-view-legend__head{display:flex;align-items:center;justify-content:space-between}.stream-view-legend__title{color:var(--amber-ink)}.stream-view-legend__adjust{font-family:var(--font-mono);font-size:11px;padding:1px 8px;color:var(--ink-3);background:var(--paper);border:1px solid var(--line);cursor:pointer}.stream-view-legend__adjust:hover,.stream-view-legend__adjust.is-open{color:var(--amber-ink);background:var(--amber-soft);border-color:var(--amber)}.stream-view-legend__bar{height:10px}.stream-view-legend__ticks{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3)}.stream-view-legend__note{margin:0;font-size:10.5px;color:var(--muted-strong)}.stream-view-legend__keys{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--ink-3)}.stream-view-legend__key{display:flex;align-items:center;gap:6px}.stream-view-legend__taper{fill:var(--stream-ramp-thermal-3)}.stream-view-legend__internal{stroke:var(--stream-ramp-thermal-3);stroke-width:3;stroke-dasharray:5 3}.stream-view-legend__settings{margin-top:6px;border-top:1px solid var(--line);padding-top:4px}.stream-view-legend__settings .view-menu__segmented{margin-bottom:4px}.stream-view-legend__palette{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.stream-view-legend__swatch{display:block;width:36px;height:6px}.stream-view-legend__slider{display:grid;grid-template-columns:76px 1fr 56px;align-items:center;gap:6px;font-size:11px;color:var(--ink-3)}.stream-view-legend__slider input{width:100%;accent-color:var(--amber)}.stream-view-legend__slider-value{font-family:var(--font-mono);text-align:right}.stream-view-legend__manual-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px}.stream-view-legend__manual{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--ink-3)}.stream-view-legend__manual input{width:100%;min-width:0;font-family:var(--font-mono);font-size:11px;padding:2px 4px;border:1px solid var(--line)}.stream-view-legend__unit{font-family:var(--font-mono);color:var(--muted-strong)}.stream-view-legend__settings .view-menu__segment{height:auto;min-height:24px;padding-top:3px;padding-bottom:3px}.access-gate__button--link{display:grid;place-items:center;text-decoration:none}.unit-switch{position:relative;white-space:nowrap}.unit-switch__btn{padding:0;border:0;border-bottom:1px dotted var(--line);background:none;font:inherit;color:inherit;cursor:pointer}.unit-switch__btn:hover,.unit-switch__btn:focus-visible{border-bottom-color:var(--amber);color:var(--ink);outline:none}.unit-switch__btn--set{border-bottom:1px solid var(--amber)}.unit-switch__menu{position:fixed;z-index:1000;display:flex;flex-direction:column;min-width:120px;padding:2px 0;border:1px solid var(--ink-3);background:var(--paper);text-transform:none;letter-spacing:0}.unit-switch__menu button{padding:3px 10px;border:0;background:none;font:11px var(--font-mono);color:var(--ink-3);text-align:left;cursor:pointer}.unit-switch__menu button[aria-checked=true]{color:var(--amber-ink)}.unit-switch__menu button:hover,.unit-switch__menu button:focus{background:var(--amber-soft);outline:none}.unit-switch__menu .unit-switch__reset{border-top:1px solid var(--line-2);font-family:var(--font-ui)}.engineering-chart__units{display:flex;justify-content:flex-end;gap:12px;padding:0 4px 2px;font:10px var(--font-mono);color:var(--muted-strong)}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
