.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.suggested-settings{border:1px solid var(--accent);border-radius:var(--r-2);padding:var(--sp-3);gap:var(--sp-2);background:var(--accent-subtle);flex-direction:column;grid-column:1/-1;display:flex}.suggested-settings__header{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.suggested-settings__title{font-size:var(--fs-cap);color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.suggested-settings__list{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.suggested-settings__item{flex-direction:column;gap:1px;display:flex}.suggested-settings__what{font-size:var(--fs-body);color:var(--text-1);font-weight:600}.suggested-settings__why{font-size:var(--fs-cap);color:var(--text-2)}.dialog--new-model{width:min(720px,100vw - 48px);max-height:calc(100vh - 96px);overflow:auto}.new-model__hint{font-size:var(--fs-body);color:var(--text-2);margin-bottom:var(--sp-3)}.new-model__grid{gap:var(--sp-2);margin-bottom:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.new-model-card{gap:var(--sp-1);padding:var(--sp-3);background:var(--bg-1);border:1px solid var(--bg-3);border-radius:var(--r-2);color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;display:flex}.new-model-card:hover{border-color:var(--text-3)}.new-model-card--selected,.new-model-card--selected:hover{border-color:var(--accent);outline:1px solid var(--accent)}.new-model-card__label{color:var(--text-1);font-weight:600;font-size:var(--fs-body)}.new-model-card__desc{font-size:var(--fs-cap);color:var(--text-2)}.new-model-card__seeds{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.new-model-card__seed{color:var(--text-2);border:1px solid var(--bg-3);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:10px}.shell-studio{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.shell-studio__body{flex:1;min-height:0;display:flex;overflow:hidden}.shell-studio__outline{border-right:1px solid var(--bg-3);background:var(--bg-1);flex-direction:column;flex:none;width:224px;min-width:180px;display:flex;overflow:hidden}.shell-studio__main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.shell-studio__center{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.shell-studio__center>*{flex:1;min-height:0}.shell-studio__inspector{border-left:1px solid var(--bg-3);background:var(--bg-1);flex-direction:column;flex:none;display:flex;position:relative;overflow:hidden}.shell-studio__inspector-resize{cursor:col-resize;z-index:5;width:6px;position:absolute;top:0;bottom:0;left:-3px}.shell-studio__inspector-resize:hover{background:var(--accent-subtle)}.shell-studio__panel-header{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-cap);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);border-bottom:1px solid var(--bg-3);flex:none;justify-content:space-between;align-items:center;font-weight:600;display:flex}.shell-studio__inspector-scroll{padding:var(--sp-2);flex:1;overflow:auto}.shell-studio__inspector-scroll .property-panel{width:100%;max-height:none;box-shadow:none;background:0 0;border:none}.shell-studio__settings-page{min-height:0;padding:var(--sp-4);gap:var(--sp-3);flex-direction:column;flex:1;display:flex;overflow:hidden auto}.shell-studio__settings-page>*{flex:none;width:100%;max-width:1040px}.shell-studio__settings-page .settings-tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.variant-picker{padding:var(--sp-2) var(--sp-2) 0;flex:none}.variant-picker__button{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-1) var(--sp-2);background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-1);color:var(--text-1);font:inherit;font-size:var(--fs-body);cursor:pointer;display:flex}.variant-picker__button:hover{border-color:var(--text-3)}.variant-picker__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.variant-picker__changes{font-size:var(--fs-micro);color:var(--accent);white-space:nowrap}.variant-picker__count{font-size:var(--fs-micro);color:var(--text-3);white-space:nowrap;margin-left:auto}.variant-menu{z-index:140;background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-2);padding:var(--sp-1);flex-direction:column;max-width:340px;display:flex;box-shadow:0 8px 24px #00000073}.variant-menu__row{align-items:center;gap:var(--sp-1);border-radius:var(--r-1);display:flex}.variant-menu__row--active{background:var(--accent-subtle)}.variant-menu__row:hover{background:var(--bg-3)}.variant-menu__pick{align-items:center;gap:var(--sp-2);min-width:0;color:var(--text-1);font:inherit;font-size:var(--fs-body);text-align:left;padding:var(--sp-1) var(--sp-2);cursor:pointer;background:0 0;border:none;flex:1;display:flex}.variant-menu__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.variant-menu__meta{align-items:center;gap:var(--sp-2);font-size:var(--fs-micro);color:var(--text-3);white-space:nowrap;margin-left:auto;display:inline-flex}.variant-menu__meta .model-outline__status{margin-left:0}.variant-menu__actions{flex:none;align-items:center;display:inline-flex}.variant-menu__name-input{min-width:0;margin:2px var(--sp-1);font-size:var(--fs-body);flex:1}.variant-menu__new{margin-top:var(--sp-1);border:none;border-top:1px solid var(--line-1);color:var(--accent);font:inherit;font-size:var(--fs-cap);text-align:left;padding:var(--sp-2);cursor:pointer;background:0 0}.variant-menu__new:hover{color:var(--accent-hover)}.toolbar-variant{cursor:pointer}.model-outline{flex-direction:column;flex:1;min-height:0;display:flex}.model-outline__search{padding:var(--sp-2) var(--sp-2) 0;flex:none}.model-outline__search .input{width:100%}.model-outline__scroll{padding:var(--sp-2);gap:var(--sp-2);flex-direction:column;flex:1;display:flex;overflow:auto}.model-outline__hint{padding:var(--sp-1) var(--sp-2);border-top:1px solid var(--bg-3);font-size:var(--fs-micro);color:var(--text-3);flex:none}.model-outline__hint kbd{border:1px solid var(--line-1);border-radius:3px;padding:0 3px;font-family:inherit}.model-outline__chevron{color:var(--text-3);flex:none;transition:transform .12s}.model-outline__chevron--open{transform:rotate(90deg)}.model-outline__heading:hover .model-outline__chevron{color:var(--text-1)}.model-outline__heading-label{align-items:center;gap:var(--sp-1);min-width:0;display:inline-flex}.model-outline__heading-row{align-items:center;gap:var(--sp-1);padding:0 var(--sp-3) 0 var(--sp-1);border-radius:var(--r-1);display:flex}.model-outline__heading-row:hover{background:var(--bg-2)}.model-outline__heading-row .model-outline__heading{flex:1;min-width:0}.model-outline__heading-action{color:var(--accent);font:inherit;font-size:var(--fs-micro);padding:var(--sp-1);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none}.model-outline__heading-action:hover:not(:disabled){color:var(--accent-hover)}.model-outline__heading-action:disabled{color:var(--text-3);cursor:default}.model-outline__row-wrap{padding-right:var(--sp-3);border-radius:var(--r-1);align-items:center;display:flex}.model-outline__row-wrap:hover{background:var(--bg-2)}.model-outline__row-wrap--selected,.model-outline__row-wrap--selected:hover{background:var(--select-subtle)}.model-outline__row-wrap .model-outline__item{flex:1;min-width:0}.model-outline__row-wrap .model-outline__item:hover,.model-outline__row-wrap .model-outline__item--selected{background:0 0}.model-outline__row-action{color:var(--text-3);padding:2px var(--sp-1);cursor:pointer;background:0 0;border:none;flex:none;font-size:12px;line-height:1}.model-outline__row-action:hover{color:var(--select)}.model-outline__row-action--active,.model-outline__row-action--active:hover{color:var(--select);font-size:14px}.model-outline__row-action--danger:hover{color:var(--danger)}.model-outline__modified{color:var(--accent);border:1px solid var(--accent);border-radius:3px;flex:none;padding:0 3px;font-size:9px;font-weight:700;line-height:1.4}.model-outline__status{flex:none;margin-left:auto;display:block}.model-outline__item .model-outline__status{margin-left:var(--sp-1)}.model-outline__status--warn{color:var(--warn)}.model-outline__status--error{color:var(--danger)}.model-outline__heading-meta{align-items:center;gap:var(--sp-1);display:inline-flex}.model-outline__item--child{padding-left:calc(var(--sp-4) + var(--sp-3))}.model-outline__item-annotation{font-size:var(--fs-micro);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.shell-studio__outline-reopen{border:none;border-right:1px solid var(--bg-3);background:var(--bg-1);width:18px;color:var(--text-3);cursor:pointer;flex:none;font-size:10px}.shell-studio__outline-reopen:hover{color:var(--text-1);background:var(--bg-2)}.model-outline__section{flex-direction:column;display:flex}.model-outline__heading{color:var(--text-2);font:inherit;font-size:var(--fs-cap);text-transform:uppercase;letter-spacing:.06em;padding:var(--sp-2) 0;cursor:pointer;background:0 0;border:none;align-items:center;font-weight:600;display:flex}.model-outline__count{color:var(--text-3);font-weight:500}.model-outline__item{align-items:center;gap:var(--sp-2);width:100%;color:var(--text-1);font:inherit;font-size:var(--fs-body);text-align:left;padding:4px var(--sp-3) 4px var(--sp-4);cursor:pointer;border-radius:var(--r-1);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;display:flex;overflow:hidden}.model-outline__item:hover{background:var(--bg-2)}.model-outline__item--selected,.model-outline__item--selected:hover{background:var(--select-subtle);color:var(--text-1)}.model-outline__item--drop-before{box-shadow:inset 0 2px 0 0 var(--accent)}.model-outline__item--drop-after{box-shadow:inset 0 -2px 0 0 var(--accent)}.model-outline__item-glyph{flex:none;width:16px;height:16px}.hover-card{z-index:150;pointer-events:none;background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-body);color:var(--text-1);box-shadow:0 8px 24px #00000073}.hover-card__header{align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-1);margin-bottom:var(--sp-2);border-bottom:1px solid var(--line-1);display:flex}.hover-card__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.hover-card__subtitle{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);flex:none;margin-left:auto}.hover-card__section{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.hover-card__rows{gap:2px var(--sp-3);grid-template-columns:auto 1fr;margin:0;display:grid}.hover-card__rows dt{color:var(--text-2);white-space:nowrap}.hover-card__rows dd{text-align:right;font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin:0;overflow:hidden}.model-outline__item-kind{color:var(--text-3);border:1px solid var(--bg-3);letter-spacing:.04em;border-radius:3px;flex:none;padding:0 3px;font-size:9px;font-weight:700}.model-outline__item-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.model-outline__empty{font-size:var(--fs-cap);color:var(--text-3);padding:0 var(--sp-2) var(--sp-1) var(--sp-4)}.command-palette-overlay{z-index:200;background:#00000073;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.command-palette{background:var(--bg-1);border:1px solid var(--bg-3);border-radius:var(--r-2);flex-direction:column;width:min(560px,100vw - 48px);display:flex;overflow:hidden;box-shadow:0 12px 40px #00000080}.command-palette__input{border:none;border-bottom:1px solid var(--bg-3);width:100%;color:var(--text-1);font:inherit;padding:var(--sp-3);background:0 0;outline:none;font-size:14px}.command-palette__list{padding:var(--sp-1);max-height:320px;margin:0;list-style:none;overflow:auto}.command-palette__item{align-items:center;gap:var(--sp-2);border-radius:var(--r-1);width:100%;color:var(--text-1);font:inherit;font-size:var(--fs-body);text-align:left;padding:var(--sp-2) var(--sp-3);cursor:pointer;background:0 0;border:none;display:flex}.command-palette__item--active{background:var(--accent-subtle)}.command-palette__item-hint{font-size:var(--fs-cap);color:var(--text-3);margin-left:auto}.command-palette__empty{padding:var(--sp-3);font-size:var(--fs-body);color:var(--text-3)}.react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.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))}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/OpenFLUME/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0:#171717;--bg-1:#1f1f1f;--bg-2:#292929;--bg-3:#353535;--bg-input:#181818;--line-1:#393939;--line-2:#515151;--line-focus:#4b9bc9;--text-1:#e6e6e6;--text-2:#b5b5b5;--text-3:#858585;--accent:#197cb4;--accent-hover:#398ebe;--select:#c99a43;--ok:#58b98b;--warn:#c99a43;--danger:#d66b7c;--info:#59a9ba;--on-accent:#f2f2f2;--note-paper:#262320;--note-line:#3f382e;--note-edge:#8a7550;--accent-subtle:#197cb42e;--select-subtle:#c99a4326;--danger-subtle:#d66b7c24;--info-subtle:#59a9ba24;--fs-micro:10px;--fs-cap:11px;--fs-body:12px;--fs-ui:13px;--fs-h2:14px;--fs-h1:17px;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--r-1:4px;--r-2:6px;--r-3:10px;--r-pill:999px;--elev-1:0 1px 2px #0000004d;--elev-2:0 5px 16px #0000005c;--elev-3:0 18px 48px #00000085;--overlay:#0d0d0dad;--focus-ring:0 0 0 2px var(--bg-0), 0 0 0 4px var(--line-focus)}html,body,#root{background:var(--bg-0);width:100%;height:100%;color:var(--text-1);font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-ui);margin:0;padding:0;overflow:hidden}button,select,input{font-family:inherit}button,select,input[type=text],input[type=number]{transition:border-color .12s,background .12s,box-shadow .12s}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{box-shadow:var(--focus-ring);outline:none}button:disabled{opacity:.55;cursor:default}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}::placeholder{color:var(--text-3)}*{scrollbar-width:thin;scrollbar-color:var(--line-1) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-1);border-radius:var(--r-pill);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--line-2);background-clip:content-box}.btn{background:var(--bg-2);color:var(--text-1);border:1px solid var(--line-1);border-radius:var(--r-1);font-size:var(--fs-body);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:4px 12px;font-weight:600;line-height:1.45;display:inline-flex}a.btn{text-decoration:none}.btn:hover:not(:disabled){background:var(--bg-3);border-color:var(--line-2)}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn--danger{background:var(--danger-subtle);color:var(--danger);border-color:#d66b7c80}.btn--danger:hover:not(:disabled){border-color:var(--danger);background:#d66b7c3d}.btn--ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--bg-3);color:var(--text-1);border-color:#0000}.btn--sm{font-size:var(--fs-cap);padding:2px 8px}.btn--toggle[aria-pressed=true]{background:var(--select-subtle);border-color:var(--select);color:var(--text-1)}.btn--choice[aria-pressed=true]{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-1)}.btn--busy,.btn--busy:disabled{opacity:1;cursor:progress;background:linear-gradient(115deg, var(--accent) 0%, var(--accent-hover) 45%, var(--accent) 90%);border-color:var(--accent);color:var(--on-accent);background-size:200% 100%;animation:1.4s linear infinite btn-busy-slide}@keyframes btn-busy-slide{0%{background-position:0 0}to{background-position:200% 0}}.btn__glyph{width:15px;height:15px;display:block}.btn--icon{padding:4px 8px}.btn--block{width:100%}.btn--icon .btn__glyph{width:1.45em;height:1.45em}.input,.select{background:var(--bg-input);width:100%;color:var(--text-1);border:1px solid var(--line-1);border-radius:var(--r-1);font-size:var(--fs-body);box-sizing:border-box;font-variant-numeric:tabular-nums;padding:4px 8px}.input:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--line-2)}.input:focus,.select:focus{border-color:var(--line-focus)}.input:disabled,.select:disabled{opacity:.65;color:var(--text-2)}.select{cursor:pointer;appearance:none;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='m3 4.5 3 3 3-3' stroke='%23858585' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px;padding-right:32px}.select option,.select optgroup{background:var(--bg-1);color:var(--text-1)}.field{margin-bottom:var(--sp-2)}.field__label{font-size:var(--fs-cap);color:var(--text-2);margin-bottom:2px;display:block}.field__unit{color:var(--text-3);font-weight:400}.field__hint{font-size:var(--fs-cap);color:var(--text-3);margin-top:3px;line-height:1.45}.field__error{font-size:var(--fs-cap);color:var(--danger);margin-top:3px;line-height:1.45}.check-label{align-items:center;gap:6px;display:flex}.field-row{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.field-row>.field{min-width:0}.formula-unit-input__header{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:2px;display:flex}.formula-unit-input__header .field__label{min-width:0;margin-bottom:0}.formula-unit-input__actions{flex:none;align-items:center;gap:2px;display:flex}.formula-unit-input__control{align-items:flex-start;gap:var(--sp-1);display:flex}.formula-unit-input__control>.input,.formula-unit-input__control>.formula-editor{flex:1;min-width:0}.formula-unit-input__toggle{font-size:var(--fs-cap);color:var(--text-3);flex-shrink:0;padding:2px 7px;line-height:1.5}.formula-unit-input__toggle:hover:not(:disabled){color:var(--text-1)}.formula-unit-input__toggle[aria-pressed=true]{color:var(--info);border-color:var(--info)}.formula-unit-input__insert{font-size:var(--fs-cap);color:var(--info);flex-shrink:0;padding:2px 7px;line-height:1.5}.formula-unit-input__insert:hover:not(:disabled){color:var(--text-1);border-color:var(--info)}.formula-unit-input__preview{line-height:1.6}.formula-editor{min-width:0}.formula-expression-editor{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;height:auto;min-height:26px;line-height:1.55}.formula-expression-editor:hover:not(.formula-expression-editor--disabled){border-color:var(--line-2)}.formula-expression-editor:focus{border-color:var(--line-focus);box-shadow:var(--focus-ring);outline:none}.formula-expression-editor--disabled{opacity:.65;color:var(--text-2);cursor:default}.formula-expression-editor[aria-invalid=true]{border-color:var(--danger)}.formula-chip{vertical-align:baseline;background:var(--accent-subtle);border-radius:var(--r-1);max-width:100%;color:var(--text-1);font-size:var(--fs-body);cursor:default;-webkit-user-select:none;user-select:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;border:1px solid #197cb494;align-items:baseline;gap:4px;margin:0 1px;padding:0 4px;line-height:1.5;display:inline-flex}.formula-chip__accessor{font-size:var(--fs-micro);letter-spacing:.04em;color:var(--info);text-transform:uppercase;font-weight:700}.formula-chip__label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.formula-chip__warn{color:var(--warn);font-size:var(--fs-cap)}.formula-chip__remove{border-radius:var(--r-1);color:var(--text-3);font-size:var(--fs-cap);cursor:pointer;background:0 0;border:none;align-self:center;margin:0 -2px 0 0;padding:0 2px;line-height:1.4}.formula-chip__remove:hover{color:var(--danger);background:var(--danger-subtle)}.formula-chip__remove:focus-visible{box-shadow:var(--focus-ring);outline:none}.formula-chip--selected{border-color:var(--select);background:var(--select-subtle);box-shadow:0 0 0 1px var(--select)}.formula-chip--invalid{border-color:var(--danger);background:var(--danger-subtle);border-style:dashed}.formula-autocomplete{background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-2);max-height:264px;box-shadow:var(--elev-3);padding:var(--sp-1);box-sizing:border-box;overflow-y:auto}.formula-autocomplete__list{margin:0;padding:0;list-style:none}.formula-autocomplete__option{border-radius:var(--r-1);font-size:var(--fs-body);color:var(--text-1);cursor:pointer;align-items:baseline;gap:6px;padding:4px 6px;display:flex}.formula-autocomplete__option:hover{background:var(--bg-3)}.formula-autocomplete__option[aria-selected=true]{background:var(--bg-3);box-shadow:inset 2px 0 0 var(--accent)}.formula-autocomplete__kind{width:30px;font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex-shrink:0;font-weight:700}.formula-autocomplete__kind--id{color:var(--info)}.formula-autocomplete__kind--property{color:var(--ok)}.formula-autocomplete__label{font-variant-numeric:tabular-nums;flex-shrink:0}.formula-autocomplete__detail{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--text-3);font-size:var(--fs-cap);flex:1;overflow:hidden}.formula-browser{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-2);max-height:min(520px,100vh - 16px);box-shadow:var(--elev-3);color:var(--text-1);flex-direction:column;display:flex;overflow:hidden}.formula-browser__header{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);cursor:grab;-webkit-user-select:none;user-select:none;padding:10px 12px 8px;display:flex}.formula-browser__header:active{cursor:grabbing}.formula-browser__header-actions{align-items:center;gap:2px;display:flex}.formula-browser__grip{color:var(--text-3);font-size:var(--fs-cap)}.formula-browser__title{font-size:var(--fs-ui);font-weight:700}.formula-browser__hint{color:var(--text-3);font-size:var(--fs-cap);margin-top:2px}.formula-browser__tabs{border-bottom:1px solid var(--line-1);gap:2px;padding:0 10px 8px;display:flex}.formula-browser__tabs button{border-radius:var(--r-1);color:var(--text-2);font:inherit;font-size:var(--fs-cap);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 9px}.formula-browser__tabs button[aria-selected=true]{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-1)}.formula-browser__body{min-height:0;padding:8px 10px 10px;overflow-y:auto}.formula-browser__section+.formula-browser__section{margin-top:12px}.formula-browser__section-title,.formula-browser__entity-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.formula-browser__section-title{color:var(--text-2);font-size:var(--fs-cap);margin-bottom:5px;font-weight:700}.formula-browser__section-title code{color:var(--text-3);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.formula-browser__entity{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-1);padding:6px}.formula-browser__entity+.formula-browser__entity{margin-top:5px}.formula-browser__entity-title>span:first-child{font-size:var(--fs-body);font-weight:650}.formula-browser__entity-title>span:last-child{color:var(--text-3);font-size:var(--fs-micro);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formula-browser__choices{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.formula-browser__choices button{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-1);max-width:100%;color:var(--text-1);font:inherit;font-size:var(--fs-cap);cursor:pointer;align-items:baseline;gap:5px;padding:3px 6px;display:inline-flex}.formula-browser__choices button:hover,.formula-browser__function-list button:hover{border-color:var(--accent);background:var(--accent-subtle)}.formula-browser__choices small{max-width:120px;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.formula-browser__function-list{grid-template-columns:1fr 1fr;gap:5px;display:grid}.formula-browser__function-list button{text-align:left;background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-1);min-width:0;color:var(--text-1);cursor:pointer;padding:6px}.formula-browser__function-list code,.formula-browser__function-list span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.formula-browser__function-list span{color:var(--text-3);font-size:var(--fs-micro);margin-top:2px}@media (width<=760px){.formula-chip__label{max-width:84px}.formula-autocomplete__detail{display:none}}.card{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-2);padding:var(--sp-3)}.panel{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);padding:var(--sp-3)}.chip{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-2);box-shadow:var(--elev-2);padding:var(--sp-2) var(--sp-3);color:var(--text-1);font-size:var(--fs-body)}.banner{border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-body);border:1px solid;max-width:110ch;line-height:1.5}.banner--warn{background:var(--select-subtle);color:var(--warn);border-color:#c99a4373}.banner--error{background:var(--danger-subtle);color:var(--danger);border-color:#d66b7c80}.banner--info{background:var(--info-subtle);color:var(--info);border-color:#59a9ba73}.table{border-collapse:collapse;width:100%;font-size:var(--fs-body)}.table th{background:var(--bg-2);color:var(--text-2);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--line-2);white-space:nowrap;padding:6px 10px;font-weight:700}.table td{border-bottom:1px solid var(--line-1);color:var(--text-1);font-variant-numeric:tabular-nums;padding:5px 10px}.table tbody tr:hover td{background:var(--bg-3)}.table--dense{font-size:var(--fs-cap)}.table th.table__num,.table td.table__num{text-align:right}.pill{font-size:var(--fs-cap);white-space:nowrap;border-radius:var(--r-pill);color:var(--text-2);background:0 0;border:1px solid;align-items:center;gap:5px;padding:3px 8px;font-weight:700;display:inline-flex}.pill--ok{color:var(--ok)}.pill--warn{color:var(--warn)}.pill--danger{color:var(--danger)}.pill--info{color:var(--info)}.pill--muted{color:var(--text-2)}.pill--plain{border-color:#0000}button.pill{cursor:pointer}button.pill:hover{background:var(--bg-3)}.tabs{background:var(--bg-1);border-bottom:1px solid var(--line-1);align-items:stretch;display:flex;overflow-x:auto}.tab{font-size:var(--fs-ui);color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 16px;font-weight:600;display:inline-flex}.tab:hover{color:var(--text-1);background:var(--bg-2)}.tab[aria-selected=true]{color:var(--text-1);background:var(--bg-0);border-bottom-color:var(--accent)}.tab__close{border-radius:var(--r-1);color:var(--text-3);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:2px;padding:1px 4px;font-size:13px;line-height:1;display:inline-flex}.tab__close:hover{color:var(--text-1);background:var(--bg-3)}.dialog-overlay{background:var(--overlay);z-index:50;padding:var(--sp-4);box-sizing:border-box;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-3);border:1px solid var(--line-1);border-radius:var(--r-3);box-shadow:var(--elev-3);padding:var(--sp-5);width:100%;max-width:860px;max-height:90vh;color:var(--text-1);box-sizing:border-box;overflow-y:auto}.dialog--sm{max-width:440px}.model-view-dialog{flex-direction:column;width:calc(100vw - 48px);max-width:1400px;height:calc(100vh - 48px);max-height:960px;padding:0;display:flex;overflow:hidden}.model-view-dialog__header{border-bottom:1px solid var(--line-1);flex:none;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.model-view-dialog__body{flex:1;min-height:0;overflow:hidden}.dialog__title{font-weight:700;font-size:var(--fs-h2);color:var(--text-1)}.dialog__header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line-1);display:flex}.dialog__close{font-size:var(--fs-h2);color:var(--text-3);padding:3px 9px;line-height:1}.dialog__close:hover:not(:disabled){color:var(--text-1)}.kv{justify-content:space-between;align-items:baseline;gap:var(--sp-3);font-size:var(--fs-body);padding:2px 0;display:flex}.kv__key{color:var(--text-2);min-width:0}.kv__value{color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap}.table td,.chip,.pill{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-3{color:var(--text-3)}.micro-label{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:700}.empty-state{padding:var(--sp-6);border:1px dashed var(--line-1);border-radius:var(--r-2);color:var(--text-3);font-size:var(--fs-body);text-align:center;margin:0}.app-shell,.workspace{background:var(--bg-0)}.workspace-tabs,.workspace-panel{background:var(--bg-1)}.workspace-center{position:relative}.canvas-sidebar{top:var(--sp-3);bottom:var(--sp-3);z-index:10;gap:var(--sp-1);flex-direction:column;min-height:0;display:flex;position:absolute}.canvas-sidebar--right{top:58px;right:var(--sp-3);align-items:flex-end}.workspace-center:has(.canvas-legend) .canvas-sidebar--right{top:128px}.canvas-sidebar__toggle{justify-content:space-between;align-items:center;gap:var(--sp-3);background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-2);box-shadow:var(--elev-2);color:var(--text-1);font-size:var(--fs-cap);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:6px 10px;font-weight:700;display:inline-flex}.canvas-sidebar__toggle:hover{background:var(--bg-3);border-color:var(--line-2)}.canvas-sidebar__content{flex:0 auto;min-height:0;display:flex;overflow:hidden}.canvas-sidebar--right{gap:0}.canvas-sidebar--right .canvas-sidebar__toggle{background:var(--bg-1);color:var(--text-2);align-self:stretch}.canvas-sidebar--right:has(.canvas-sidebar__content) .canvas-sidebar__toggle{border-radius:var(--r-2) var(--r-2) 0 0;box-shadow:none;border-bottom-color:#0000}.canvas-sidebar--right:has(.canvas-sidebar__content) .property-panel{border-top-left-radius:0;border-top-right-radius:0}.node-actions-panel{margin:var(--sp-3)}.canvas-rail{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);box-shadow:var(--elev-2);pointer-events:none;flex-direction:column;align-items:center;gap:3px;padding:5px;display:flex}.canvas-rail__group{flex-direction:column;gap:3px;display:flex}.canvas-rail__divider{background:var(--line-2);align-self:stretch;height:1px;margin:4px 0}.canvas-rail__btn{border-radius:var(--r-1);width:32px;height:32px;color:var(--text-2);font:inherit;cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.canvas-rail__btn svg{width:19px;height:19px}.canvas-rail__btn:hover:not(:disabled){background:var(--bg-3);color:var(--text-1)}.canvas-rail__btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.canvas-rail__btn:disabled{color:var(--text-3);cursor:not-allowed}.canvas-rail__btn[aria-pressed=true]{background:var(--accent-subtle);border-color:var(--accent);color:var(--text-1)}.canvas-rail__btn--element{cursor:grab}.canvas-rail__btn--element:active{cursor:grabbing}.canvas-rail__btn .canvas-rail__glyph{width:21px;height:21px}.canvas-rail__tip{z-index:40;background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-1);box-shadow:var(--elev-3);font-size:var(--fs-cap);text-align:left;white-space:nowrap;pointer-events:none;opacity:0;flex-direction:column;padding:5px 8px;line-height:1.4;transition:opacity 90ms,transform 90ms;display:flex;position:absolute;top:50%;left:calc(100% + 9px);transform:translate(-4px,-50%)}.canvas-rail__btn:hover .canvas-rail__tip,.canvas-rail__btn:focus-visible .canvas-rail__tip{opacity:1;transition-delay:.22s;transform:translateY(-50%)}.canvas-rail__tip-line{align-items:center;gap:6px;display:flex}.canvas-rail__tip-label{color:var(--text-1)}.canvas-rail__tip-tag{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-1);color:var(--text-2);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;padding:0 4px;font-weight:700}.canvas-rail__tip-hint{color:var(--text-3)}.canvas-rail__view-wrap{position:relative}.canvas-rail__view-menu{z-index:40;background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-2);min-width:190px;box-shadow:var(--elev-3);font-size:var(--fs-cap);text-align:left;pointer-events:auto;flex-direction:column;gap:10px;padding:10px 12px;display:flex;position:absolute;top:0;left:calc(100% + 9px)}.canvas-rail__view-menu-section{flex-direction:column;gap:5px;display:flex}.canvas-rail__view-menu-heading{color:var(--text-2);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.canvas-rail__view-menu-section label{color:var(--text-1);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:flex}.canvas-rail__view-menu-reset{color:var(--accent);font-size:var(--fs-cap);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0}.canvas-rail__view-menu-reset:hover{text-decoration:underline}.connection-chooser{z-index:30;min-width:180px;max-width:300px;padding:var(--sp-2);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--elev-3);position:absolute;transform:translate(10px,10px)}.connection-chooser__title{width:100%;margin-bottom:var(--sp-1);color:var(--text-2);font:inherit;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;text-align:left;cursor:grab;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0 0 3px;font-weight:700;display:flex}.connection-chooser__title:active{cursor:grabbing}.connection-chooser__options{gap:var(--sp-1);flex-wrap:wrap;display:flex}.connection-chooser__section{margin-bottom:var(--sp-2)}.connection-chooser__section-label{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;font-weight:700}.connection-chooser__option{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-1);color:var(--text-1);font:inherit;font-size:var(--fs-cap);cursor:pointer;align-items:center;gap:5px;padding:3px 6px;display:inline-flex}.connection-chooser__option:hover{background:var(--bg-3);border-color:var(--line-2)}.connection-chooser__new-component{border:1px dashed var(--line-2);border-radius:var(--r-1);color:var(--info);font:inherit;font-size:var(--fs-cap);cursor:pointer;text-align:left;background:0 0;flex:1;padding:5px 6px}.connection-chooser__library-actions{gap:var(--sp-1);margin-bottom:var(--sp-1);display:flex}.connection-chooser__refresh{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--r-1);width:28px;color:var(--text-2);cursor:pointer;font-size:var(--fs-ui);flex:none}.connection-chooser__refresh:hover:not(:disabled){background:var(--bg-3);color:var(--text-1)}.selection-menu{z-index:20;gap:var(--sp-1);padding:var(--sp-1);background:var(--bg-3);border:1px solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--elev-2);display:flex;position:absolute;transform:translate(10px,-50%)}.selection-menu__action{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-1);color:var(--text-1);font:inherit;font-size:var(--fs-cap);cursor:pointer;white-space:nowrap;padding:4px 7px}.selection-menu__action:hover:not(:disabled){background:var(--bg-3);border-color:var(--line-2)}.selection-menu__action:disabled{color:var(--text-3);cursor:default}.selection-menu__action--danger{color:var(--danger)}.selection-menu__action--danger:hover:not(:disabled){background:var(--danger-subtle);border-color:var(--danger)}.selection-plot{z-index:15;width:min(440px,100% - 24px);padding:var(--sp-2);background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--elev-3);position:absolute;bottom:12px;left:12px}.selection-plot__head{cursor:grab;justify-content:space-between;align-items:center;display:flex}.selection-plot__title{color:var(--text-2);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.selection-plot__properties{margin:var(--sp-1) 0;color:var(--text-2);font-size:var(--fs-cap);flex-wrap:wrap;gap:4px 8px;display:flex}.selection-plot__steady-properties{max-height:min(480px,100vh - 180px);margin-top:var(--sp-1);background:var(--line-1);border:1px solid var(--line-1);border-radius:var(--r-1);gap:1px;display:grid;overflow:auto}.selection-plot__steady-property{justify-content:space-between;align-items:baseline;gap:var(--sp-3);background:var(--bg-1);color:var(--text-2);font-size:var(--fs-cap);padding:6px 8px;display:flex}.selection-plot__steady-property strong{color:var(--text-1);font-variant-numeric:tabular-nums;flex:none}.connection-chooser__new-component:hover{background:var(--info-subtle);border-color:var(--info);color:var(--text-1)}.toolbar{background:var(--bg-1);border-bottom:1px solid var(--line-1);height:44px;padding:0 var(--sp-4);justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex;overflow:hidden}.toolbar__group{flex-shrink:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.toolbar__group--status{flex-shrink:0;margin-left:auto;overflow:visible}.toolbar__run{flex-shrink:0;overflow:visible}.toolbar-actions{align-items:center;gap:6px;min-width:0;display:flex}.toolbar-title{flex-shrink:0;align-items:center;line-height:0;display:inline-flex}.toolbar-title__full{width:auto;height:16px;display:block}.toolbar-title__short{width:auto;height:18px;display:none}.toolbar__divider{background:var(--line-1);flex:none;align-self:stretch;width:1px;margin:11px 3px}.toolbar .select,.toolbar .btn{flex-shrink:0;width:auto}.toolbar .select{max-width:132px}.network-name-wrap{flex-shrink:1;align-items:center;min-width:0;display:inline-flex;position:relative}.network-name{flex-shrink:1;width:230px;min-width:90px;padding-right:18px;font-weight:600}.network-name-dirty{background:var(--warn);pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.progress{font-size:var(--fs-body);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:6px;display:flex}.progress>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.progress__track{background:var(--bg-input);border:1px solid var(--line-1);border-radius:var(--r-pill);flex:0 0 120px;height:6px;overflow:hidden}.progress__fill{background:var(--accent);height:100%;transition:width .2s}.progress__dt{margin-left:var(--sp-1)}.issues-panel{width:min(420px,100vw - 32px);max-height:min(50vh,480px);padding:var(--sp-2);overflow-y:auto}.issues-panel__title{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:var(--sp-1) var(--sp-2);font-weight:700}.issues-panel ul{margin:0;padding:0;list-style:none}.issue-item{text-align:left;border-radius:var(--r-1);width:100%;color:var(--danger);font-size:var(--fs-body);padding:6px var(--sp-2);cursor:pointer;background:0 0;border:none;display:block}.issue-item:hover{background:var(--bg-3)}.issue-item:focus-visible{box-shadow:var(--focus-ring)}.settings-section-title{margin:0 0 var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--line-1);font-weight:700;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.settings-tabs{margin:0 calc(-1 * var(--sp-5)) var(--sp-4);padding:0 var(--sp-5);background:0 0}.settings-tab-panel{min-height:320px}.settings-grid--wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.settings-disclosure>summary{cursor:pointer;padding:var(--sp-1) 0;color:var(--text-2);font-size:var(--fs-cap);font-weight:600}.settings-disclosure>summary:hover{color:var(--text-1)}.settings-disclosure__body{padding-top:var(--sp-2)}.settings-formulation{margin-top:var(--sp-3);padding:var(--sp-2);background:var(--bg-input);border-left:2px solid var(--accent);border-radius:var(--r-1);color:var(--text-2);font-size:var(--fs-cap);line-height:1.45}.settings-closure-group+.settings-closure-group{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line-1)}.settings-columns-row{gap:var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.species-table{border-collapse:collapse;width:100%;font-size:var(--fs-cap)}.species-table th{color:var(--text-3);font-size:var(--fs-micro);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:2px 4px 4px;font-weight:700}.species-table th .field__unit{text-transform:none}.species-table td{padding:2px 4px}.species-table .input{min-width:64px}.species-table .field{margin-bottom:0}.reaction-card{margin-bottom:var(--sp-3);padding:var(--sp-3);background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-2)}.reaction-card__header{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.reaction-card__side{margin-bottom:var(--sp-2)}.reaction-card__stoich{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.reaction-card__stoich .field{margin-bottom:0}.settings-tab-panel .field__hint+.check-label{margin-top:var(--sp-3);display:inline-block}.property-panel .field__hint+.field{margin-top:var(--sp-3)}.settings-section-title--advanced{margin-top:var(--sp-5)}.settings-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;display:grid}.settings-grid--advanced{align-items:stretch}.settings-units-columns{grid-column:2/-1}.settings-unit-list{max-height:min(420px,52vh);padding:var(--sp-2);background:var(--bg-input);border:1px solid var(--line-1);border-radius:var(--r-2);overflow-y:auto}.settings-preset-row{margin-bottom:var(--sp-2);flex-wrap:wrap;gap:6px;display:flex}.settings-unit-row{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);grid-template-columns:1fr auto;display:grid}.settings-unit-row:last-child{margin-bottom:0}.settings-unit-row__label{text-transform:capitalize;margin-bottom:0}.settings-unit-row .select{background-position:right 8px center;width:auto;min-width:92px;padding:2px 28px 2px 6px}.settings-json-field{flex-direction:column;margin-bottom:0;display:flex}.settings-json{resize:vertical;width:100%;height:auto;font-family:var(--font-mono);font-size:var(--fs-cap);tab-size:2;white-space:pre;line-height:1.5}.settings-json-field__apply{align-self:flex-start;margin-top:auto}.named-fluids-hint{margin-bottom:var(--sp-2)}.named-fluid-card{border:1px solid var(--line-1);border-radius:var(--r-2);padding:var(--sp-2);margin-bottom:var(--sp-2)}.named-fluid-card--default{background:var(--bg-input)}.named-fluid-card--default .field:last-child{margin-bottom:0}.named-fluid-card__default-label{font-weight:600;font-size:var(--fs-cap)}.named-fluid-card__aside{font-size:var(--fs-micro);color:var(--text-3);margin-left:auto}.named-fluid-card__header{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-1);display:flex}.named-fluid-card__name{flex:auto;min-width:0;font-weight:600}.named-fluid-card__delete{flex:none;line-height:1}.named-fluid-card__summary{font-size:var(--fs-cap);color:var(--text-3);flex:none}.named-fluid-card__body .field{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-1);display:flex}.named-fluid-card__body .field:last-child{margin-bottom:0}.named-fluid-card__body .field__label{flex:none;width:110px;margin-bottom:0}.named-fluid-card__body .field .input,.named-fluid-card__body .field .select{flex:auto;min-width:0}.property-panel{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);width:260px;box-shadow:var(--elev-2);padding:var(--sp-3);color:var(--text-1);box-sizing:border-box;flex-shrink:0;max-height:100%;overflow-y:auto}.property-panel__title{margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line-1);font-weight:700;font-size:var(--fs-ui);color:var(--text-1)}.property-panel__group{margin:var(--sp-3) 0 var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--line-1)}.property-panel__empty{font-size:var(--fs-body);color:var(--text-3)}.property-panel__hint{margin-bottom:var(--sp-2);color:var(--text-3);font-size:var(--fs-cap);line-height:1.45}.property-panel__textarea{resize:vertical;white-space:pre-wrap;height:auto;padding:6px 8px;line-height:1.45}.property-panel__results{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line-1)}.property-panel__results-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.property-panel__readout{background:var(--bg-input);border:1px solid var(--line-1);border-radius:var(--r-1);padding:var(--sp-1) var(--sp-2)}.property-panel__readout--stale{opacity:.75;border-left:2px solid var(--warn)}.analysis-page{padding:var(--sp-6);max-width:1400px;margin:0 auto}@media (width<=760px){.analysis-page{padding:var(--sp-3)}}.precision-selector{align-items:center;gap:var(--sp-1);margin-bottom:var(--sp-3);font-size:var(--fs-cap);color:var(--text-2);display:flex}.analysis-section{margin-bottom:var(--sp-6)}.analysis-section:last-child{margin-bottom:0}.analysis-section__title{font-size:var(--fs-h2);color:var(--text-1);margin-bottom:var(--sp-2);font-weight:700}.fact-grid{gap:var(--sp-2) var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(132px,1fr));display:grid}.fact__value{font-size:var(--fs-body);color:var(--text-1);font-variant-numeric:tabular-nums;margin-top:1px}.fact__value--ok{color:var(--ok)}.fact__value--warn{color:var(--warn)}.fact__value--danger{color:var(--danger)}.results-table-wrap{border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--bg-1);overflow-x:auto}.results-table-wrap__tools{justify-content:flex-end;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line-1);display:flex}.results-table-wrap__tools .micro-label{margin-right:auto}.results-table-wrap table th{background:var(--bg-2);color:var(--text-2);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase}.results-table-wrap table td{font-variant-numeric:tabular-nums}.stale-banner{background:var(--select-subtle);color:var(--warn);border-radius:var(--r-2);font-size:var(--fs-body);border:1px solid #c99a4373;margin-bottom:14px;padding:8px 12px}.readout-chip{border:1px solid var(--line-1);border-radius:var(--r-pill);box-shadow:var(--elev-1);color:var(--text-1);font-size:var(--fs-cap);font-variant-numeric:tabular-nums;white-space:nowrap;background:#292929eb;padding:1px 7px;line-height:1.5}.readout-chip--bc{border-style:dashed;border-color:var(--line-2);color:var(--text-2);background:0 0;font-style:italic}.canvas-note{box-sizing:border-box;background:var(--note-paper);border:1px solid var(--note-line);border-left:3px solid var(--note-edge);border-radius:var(--r-1);box-shadow:var(--elev-1);color:var(--text-1);font-size:var(--fs-ui);cursor:grab;flex-direction:column;padding:7px 9px;line-height:1.45;display:flex;position:relative}.canvas-note:hover{border-color:#574d3c}.canvas-note--selected{border-color:var(--select);box-shadow:0 0 0 2px var(--select), 0 0 6px #c99a4373}.canvas-note__text{white-space:pre-wrap;overflow-wrap:break-word;flex:1}.canvas-note__text--clipped{scrollbar-width:thin;scrollbar-color:var(--warn) transparent;overflow-y:auto}.canvas-note__text--clipped::-webkit-scrollbar{width:6px}.canvas-note__text--clipped::-webkit-scrollbar-thumb{background:var(--warn);border-radius:3px}.canvas-note__text--clipped::-webkit-scrollbar-track{background:0 0}.canvas-note__text--empty{color:var(--text-3);font-style:italic}.canvas-note__editor{width:100%;min-height:44px;color:var(--text-1);font:inherit;line-height:inherit;resize:none;cursor:text;background:0 0;border:none;flex:1;padding:0;display:block}.canvas-note__editor:focus{outline:none}.canvas-note__editor::placeholder{color:var(--text-3);font-style:italic}.canvas-note__resize.react-flow__resize-control.handle{width:14px;height:14px;color:var(--warn);opacity:.75;cursor:nwse-resize;background:0 0;border:none;transform:translate(-4px,-4px)}.canvas-note__resize.react-flow__resize-control.handle:hover{opacity:1}.canvas-note__resize svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:100%;height:100%;display:block}.scrubber{align-items:center;gap:var(--sp-2);font-size:var(--fs-body);display:flex}.scrubber__range{cursor:pointer;width:200px;accent-color:var(--accent);background:0 0}.canvas-minimap,.react-flow__minimap{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);box-shadow:var(--elev-2);pointer-events:none;overflow:hidden}.global-map-panel{pointer-events:none}.global-map-card{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);box-shadow:var(--elev-2);pointer-events:none;overflow:hidden}.global-map-card__header{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--line-1);pointer-events:auto;padding:2px 4px 2px 10px;font-weight:700;display:flex}.global-map-card__header button{border-radius:var(--r-1);width:20px;height:18px;color:var(--text-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:11px;display:inline-flex}.global-map-card__header button:hover{background:var(--bg-3);color:var(--text-1)}.global-map-card .react-flow__minimap{box-shadow:none;border:none;border-radius:0;margin:0;display:block;position:static}.global-map-collapsed{cursor:pointer;color:var(--text-1);pointer-events:auto;font-size:var(--fs-cap);align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.global-map-collapsed:hover{border-color:var(--line-2);color:var(--text-1)}.canvas-3d-controls{align-items:center;gap:var(--sp-2);background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);box-shadow:var(--elev-2);pointer-events:auto;padding:6px 8px;display:flex}.canvas-3d-controls__body{flex-direction:column;gap:4px;display:flex}.canvas-3d-controls__presets{gap:3px;display:flex}.canvas-3d-controls__preset{cursor:pointer;font-size:var(--fs-micro);box-shadow:none;padding:2px 7px}.canvas-3d-controls__preset:hover{border-color:var(--line-2)}.canvas-3d-controls__preset[aria-pressed=true]{border-color:var(--select);color:var(--select)}.canvas-3d-controls__readout{font-size:var(--fs-micro);font-variant-numeric:tabular-nums;color:var(--text-2)}.canvas-3d-controls__hint{font-size:var(--fs-micro);color:var(--text-3)}.run-history{background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-2);margin-bottom:20px;padding:10px 12px}.run-history__header{align-items:center;gap:var(--sp-2);margin-bottom:6px;display:flex}.run-history__title{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:700}.run-history__chip-x{color:inherit;cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0 2px;font-size:11px;line-height:1}.run-history__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.run-history__item{border-radius:var(--r-1);align-items:center;gap:8px;padding:3px 6px;display:flex}.run-history__item--selected{background:var(--bg-2)}.run-history__view{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.run-history__name{width:120px;font-size:var(--fs-cap);flex-shrink:0;padding:1px 6px}.run-history__meta{min-width:0;font-size:var(--fs-cap);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.run-history__baseline-tag,.run-history__diary{padding:1px 7px}.solver-diary{margin-bottom:20px;scroll-margin-top:56px}.analysis-disclosure__content>.solver-diary{border:none;margin-bottom:0;padding:4px 2px}.solver-diary:focus{outline:none}.solver-diary--legacy{color:var(--text-3);font-size:var(--fs-body)}.solver-diary__head{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:4px;display:flex}.solver-diary__title{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0;font-weight:700}.solver-diary__digest{font-size:var(--fs-body);color:var(--text-1);font-variant-numeric:tabular-nums;min-width:0}.solver-diary__meta{gap:var(--sp-2);font-size:var(--fs-cap);color:var(--text-3);flex-wrap:wrap;margin-bottom:6px;display:flex}.solver-diary__list{flex-direction:column;gap:2px;margin:0;padding:2px 0;list-style:none;display:flex}.solver-diary__event{flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:1px 0;display:flex}.solver-diary__coord{min-width:120px;color:var(--text-3);font-size:var(--fs-cap);font-variant-numeric:tabular-nums;flex:none}.solver-diary__sev{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);border:1px solid;flex:none;padding:0 6px;font-weight:700}.solver-diary__sev--info{color:var(--text-3)}.solver-diary__sev--notice{color:var(--info)}.solver-diary__sev--warning{color:var(--warn)}.solver-diary__message{min-width:0;color:var(--text-1);font-size:var(--fs-body);flex:220px}.solver-diary__count{color:var(--text-3);font-size:var(--fs-cap);white-space:nowrap;margin-left:6px}.solver-diary__hidden{font-size:var(--fs-cap);color:var(--text-3)}.solver-diary__empty{color:var(--text-3);font-size:var(--fs-body);margin:4px 0}.solver-diary__foot{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.sweep-cell-warn{color:var(--warn)}.analysis-disclosure{margin-bottom:var(--sp-2);padding:0;overflow:hidden}.analysis-disclosure__heading{font-size:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}.analysis-disclosure__header{align-items:center;gap:var(--sp-2);width:100%;color:var(--text-1);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 12px;display:flex}.analysis-disclosure__header:hover{background:var(--bg-2)}.analysis-disclosure__chevron{color:var(--text-2);font-size:var(--fs-body);text-align:center;flex:none;width:12px;line-height:1}.analysis-disclosure__header:hover .analysis-disclosure__chevron{color:var(--text-1)}.analysis-disclosure__title{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-weight:700}.analysis-disclosure__badge{flex:none;align-items:center;display:inline-flex}.analysis-disclosure__meta{text-align:right;min-width:0;font-size:var(--fs-cap);color:var(--text-3);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.analysis-disclosure__content{border-top:1px solid var(--line-1);padding:4px 10px 10px;scroll-margin-top:56px}.analysis-disclosure__content:focus{outline:none}.analysis-disclosure__content>.card{padding:var(--sp-2) var(--sp-3);margin-bottom:8px}.analysis-disclosure__content>.card:last-child{margin-bottom:0}.schedule-editor__row{align-items:center;gap:4px;margin-bottom:4px;display:flex}.schedule-editor__row .input{flex:1;min-width:0}.schedule-editor__head{margin-bottom:2px}.schedule-editor__colhead{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex:1;font-weight:700}.schedule-editor__alert{font-size:var(--fs-cap);margin-top:6px;padding:4px 8px}.schedule-editor__sparkline{margin-top:8px}.schedule-editor__paste-fallback{margin-top:6px}.schedule-editor__paste-fallback textarea{resize:vertical;width:100%}.mt-table td{vertical-align:middle}.mt-table tbody tr:focus-visible{box-shadow:var(--focus-ring);outline:none}.mt-cell-input{font-size:var(--fs-cap);background:0 0;border-color:#0000;padding:2px 6px}.mt-cell-input:hover:not(:focus){border-color:var(--line-1);background:var(--bg-input)}.mt-cell-input:focus{background:var(--bg-input);border-color:var(--line-focus)}.mt-cell-input--num{text-align:right;font-variant-numeric:tabular-nums}.chart-tooltip{background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--elev-2);font-size:var(--fs-cap);color:var(--text-1);padding:6px 10px}.chart-legend-chip{font-size:var(--fs-cap);color:var(--text-1);border-radius:var(--r-1);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:1px 4px;display:inline-flex}.chart-legend-chip[aria-pressed=false]{color:var(--text-3)}.chart-legend-chip:hover{background:var(--bg-3)}.results-table-wrap th[aria-sort]{color:var(--text-1)}.results-table-wrap th:hover{background:var(--bg-3)}.react-flow{--xy-background-color:var(--bg-0);--xy-selection-background-color:var(--accent-subtle);--xy-selection-border:1px dashed var(--accent);--xy-connectionline-stroke:var(--select);--xy-connectionline-stroke-width:2;--xy-handle-background-color:var(--bg-2);--xy-handle-border-color:var(--line-focus);--xy-controls-button-background-color:var(--bg-2);--xy-controls-button-background-color-hover:var(--bg-3);--xy-controls-button-color:var(--text-2);--xy-controls-button-color-hover:var(--text-1);--xy-controls-button-border-color:var(--line-1);--xy-controls-box-shadow:var(--elev-2);--xy-minimap-background-color:var(--bg-1);--xy-minimap-mask-background-color:#0d0d0dc2;--xy-edge-stroke:var(--line-2);--xy-edge-stroke-selected:var(--select);--xy-resize-background-color:var(--select)}.react-flow__controls{border:1px solid var(--line-1);border-radius:var(--r-2);overflow:hidden}.react-flow__controls button{border-bottom:1px solid var(--line-1);fill:currentColor}.react-flow__controls button:last-child{border-bottom:none}.react-flow__controls button svg{fill:currentColor}.react-flow__connection-path{stroke-dasharray:6 4}.react-flow__attribution{color:var(--text-3);background:#1f1f1fc7}.react-flow__attribution a{color:var(--text-2)}.text-model-view{background:var(--bg-0);height:100%;color:var(--text-1);flex-direction:column;display:flex}.text-model-toolbar{align-items:center;gap:var(--sp-2);padding:6px var(--sp-3);background:var(--bg-1);border-bottom:1px solid var(--line-1);flex-wrap:wrap;display:flex}.text-model-toolbar__hint{font-size:var(--fs-cap);color:var(--text-3)}.text-model-caret{font-size:var(--fs-cap);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.text-model-editor{box-sizing:border-box;resize:none;background:var(--bg-0);width:100%;color:var(--text-1);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--fs-body);padding:var(--sp-3);white-space:pre;tab-size:2;border:none;flex:1;overflow:auto}.text-model-editor:focus-visible{box-shadow:inset 0 0 0 2px var(--bg-0), inset 0 0 0 4px var(--line-focus);outline:none}.text-model-diagnostics{border-top:1px solid var(--line-1);background:var(--bg-1);flex-shrink:0;max-height:176px;overflow-y:auto}.text-model-diagnostics ul{margin:0;padding:2px 0;list-style:none}.text-model-diagnostic{align-items:baseline;gap:var(--sp-2);box-sizing:border-box;text-align:left;width:100%;color:var(--text-1);font-family:inherit;font-size:var(--fs-body);padding:4px var(--sp-3);cursor:pointer;background:0 0;border:none;display:flex}.text-model-diagnostic:hover:not(:disabled){background:var(--bg-3)}.text-model-diagnostic:focus-visible{box-shadow:var(--focus-ring);outline:none}.text-model-diagnostic:disabled{cursor:default;opacity:1}.text-model-diagnostic__line{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.text-model-diagnostic__msg{min-width:0}.sweep-panel{height:100%;padding:var(--sp-6);align-items:center;gap:var(--sp-3);background:var(--bg-0);color:var(--text-1);flex-direction:column;display:flex;overflow-y:auto}.sweep-panel>*{width:100%;max-width:1400px}.sweep-panel>.banner{max-width:110ch}.sweep-card-title{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);margin:0 0 var(--sp-2);font-weight:700}.sweep-form-row{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;align-items:flex-end;display:flex}.sweep-form-row .field{flex:140px;min-width:0;max-width:240px;margin-bottom:0}.sweep-form-row .field--target{flex:2 260px;max-width:440px}.sweep-form-row .field--options{border:0;flex:100%;min-width:0;max-width:100%;margin:0;padding:0}.sweep-form-row .field--options>.field__label{padding:0}.sweep-options__list{gap:var(--sp-1);flex-direction:column;display:flex}.sweep-option{gap:1px var(--sp-1);cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;display:grid}.sweep-option>input{align-self:center;margin:0}.sweep-option__label{font-size:var(--fs-cap);color:var(--text-1);align-items:center;gap:6px;display:flex}.sweep-option__badge{font-size:var(--fs-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--line-1);border-radius:var(--r-pill);padding:0 6px}.sweep-option__hint{font-size:var(--fs-cap);color:var(--text-3);grid-column:2;line-height:1.45}.sweep-option--invalid .sweep-option__label{color:var(--text-2)}.sweep-option--invalid .sweep-option__hint{color:var(--warn)}.sweep-form-actions{margin-left:var(--sp-2);align-items:center;gap:6px;display:flex}.sweep-hint{max-width:96ch}.sweep-values{margin-top:var(--sp-2);width:fit-content;max-width:100%;padding:var(--sp-1) var(--sp-2);background:var(--bg-input);border:1px solid var(--line-1);border-radius:var(--r-1);font-size:var(--fs-cap);color:var(--text-2);font-variant-numeric:tabular-nums}.sweep-values__label{color:var(--text-3)}.sweep-jobs{gap:var(--sp-3);flex-direction:column;display:flex}.sweep-job__header{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.sweep-job__heading{align-items:baseline;gap:var(--sp-2);border-radius:var(--r-1);color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;min-width:0;padding:2px 4px;display:inline-flex}.sweep-job__heading:hover{background:var(--bg-3)}.sweep-job__title{font-weight:700;font-size:var(--fs-ui);color:var(--text-1)}.sweep-job__meta{font-size:var(--fs-cap);color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.sweep-status-line{font-size:var(--fs-body);color:var(--text-2);margin:var(--sp-2) 0;font-variant-numeric:tabular-nums}.sweep-progress-track{width:100%;max-width:420px;margin-bottom:var(--sp-2)}.sweep-variants-wrap{margin-top:var(--sp-2)}.sweep-cell-error{color:var(--danger)}.sweep-panel .banner ul{margin:4px 0 0;padding-left:18px}@media (width<=1350px){.toolbar-title__full{display:none}.toolbar-title__short{display:block}.toolbar .select{max-width:116px}}@media (width<=1100px){.toolbar .btn__label{display:none}.toolbar .btn__glyph{width:var(--fs-h2);height:var(--fs-h2)}.toolbar .btn{padding:4px 8px}.toolbar .select{max-width:104px}.network-name{width:120px;min-width:0}.network-name-wrap{min-width:0;overflow:hidden}.progress{display:none}.property-panel{width:220px}}@media (width<=1000px){.network-name-wrap{display:none}.toolbar .select{max-width:88px}}@media (width<=760px){.toolbar .select{max-width:72px}.property-panel{width:200px}.dialog{padding:var(--sp-4);max-height:calc(100vh - 32px)}}.channel-explorer{border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--bg-1);margin-bottom:24px;padding:12px}.plots-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plots-header__run{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.plots-header__title{font-size:var(--fs-h2);color:var(--text-1);max-width:420px;margin:0;font-weight:700}.plots-header__title--select{border-radius:var(--r-1);cursor:pointer;background:0 0;border:1px solid #0000;padding:2px 4px;font-family:inherit}.plots-header__title--select:hover,.plots-header__title--select:focus{border-color:var(--line-2);background:var(--bg-2)}.plots-header__detail{color:var(--text-3);font-size:var(--fs-cap)}.channel-explorer__title{color:var(--text-1);margin:0;font-size:14px;font-weight:700}.channel-explorer__toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.channel-explorer__view{width:auto;min-width:200px;font-size:var(--fs-cap);padding:4px 6px}.channel-explorer__body{grid-template-columns:1fr;gap:12px;display:grid}.channel-explorer__aggregate{flex-direction:column;gap:10px;min-width:0;display:flex}.channel-explorer__chart{min-width:0}.channel-explorer__aggregate-note{font-size:var(--fs-cap);color:var(--text-3)}.channel-explorer__custom{min-width:0}.channel-explorer__custom-grid,.channel-explorer__focus-grid{grid-template-columns:minmax(240px,320px) 1fr;gap:16px;display:grid}@media (width<=1100px){.channel-explorer__custom-grid,.channel-explorer__focus-grid{grid-template-columns:1fr}}.result-plots__tabs{margin-bottom:10px}.result-plots__add{color:var(--text-3);font-weight:500}.result-plots__add:hover{color:var(--accent)}.result-plots__rename{width:auto;min-width:140px;max-width:240px;font-size:var(--fs-ui);margin:2px 4px;padding:4px 8px}.result-plots__axis{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.result-plots__axis label{font-size:var(--fs-cap);color:var(--text-2)}.result-plots__axis .input{width:auto;min-width:160px;padding:4px 6px}.plot-compare{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.plot-compare__label{font-size:var(--fs-cap);color:var(--text-3)}.plot-compare__chip{border:1px solid var(--line-1);border-radius:var(--r-pill);background:var(--bg-2);font-size:var(--fs-cap);color:var(--text-1);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.plot-compare__chip--added{border-style:dashed}.plot-compare__remove{color:var(--text-3);cursor:pointer;font-size:var(--fs-cap);background:0 0;border:none;padding:0 0 0 2px;line-height:1}.plot-compare__remove:hover{color:var(--danger)}.plot-compare__add{font-size:var(--fs-cap);color:var(--text-2);border:1px dashed var(--line-1);border-radius:var(--r-pill);cursor:pointer;background:0 0;padding:2px 6px}.plot-compare__add:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.plot-compare__note{font-size:var(--fs-cap);color:var(--warn)}.result-plots__count{font-size:var(--fs-cap);color:var(--text-3);font-variant-numeric:tabular-nums}.result-plots__body,.channel-explorer__workspace{grid-template-columns:minmax(270px,330px) 1fr;align-items:start;gap:16px;display:grid}@media (width<=1100px){.result-plots__body,.channel-explorer__workspace{grid-template-columns:1fr}}.result-plots__plot,.channel-explorer__plot{flex-direction:column;gap:12px;min-width:0;display:flex}.channel-explorer__views{flex-wrap:wrap;gap:4px;display:flex}.channel-rail{border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--bg-1);flex-direction:column;min-width:0;max-height:620px;display:flex}.channel-rail__toolbar{border-bottom:1px solid var(--line-1);align-items:center;gap:6px;padding:8px;display:flex}.channel-rail__search-input{flex:110px;min-width:84px;padding:4px 8px}.channel-rail__preset{width:calc(100% - 20px);font-size:var(--fs-cap);color:var(--text-3);margin:6px 10px 2px;padding:4px 6px}.channel-rail__list{padding-bottom:8px;overflow-y:auto}.channel-rail__group-label{font-size:var(--fs-micro);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 2px;display:flex}.channel-rail__group-count{font-variant-numeric:tabular-nums}.channel-rail__group--plotted{background:var(--bg-2);border-bottom:1px solid var(--line-1);z-index:1;padding-bottom:6px;position:sticky;top:0}.channel-rail__clear{color:var(--accent);font:inherit;font-size:var(--fs-micro);text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border:none;padding:0}.channel-rail__clear:hover{color:var(--accent-hover)}.channel-rail__row{width:100%;color:var(--text-1);font:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 10px;display:flex}.channel-rail__row:hover{background:var(--bg-3)}.channel-rail__row--active{color:var(--text-1);box-shadow:inset 2px 0 0 0 var(--accent)}.channel-rail__glyph{flex:none}.channel-rail__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.channel-rail__value{color:var(--text-2);font-size:var(--fs-cap);font-variant-numeric:tabular-nums;flex:none}.channel-rail__remove{color:var(--text-3);flex:none;font-size:12px;line-height:1}.channel-rail__row:hover .channel-rail__remove{color:var(--danger)}.channel-rail__empty,.channel-rail__overflow{color:var(--text-3);font-size:var(--fs-cap);padding:6px 10px 10px}.picker-menu{flex:0 auto;min-width:0;position:relative}.picker-menu__trigger{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-1);color:var(--text-2);font:inherit;font-size:var(--fs-cap);cursor:pointer;align-items:center;gap:4px;min-width:0;padding:4px 6px;display:inline-flex}.picker-menu__trigger:hover{color:var(--text-1);border-color:var(--line-2)}.picker-menu__icon{flex:none;display:inline-flex}.picker-menu__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-menu__caret{color:var(--text-3);flex:none;font-size:9px}.picker-menu__list{z-index:160;background:var(--bg-3);border:1px solid var(--line-1);border-radius:var(--r-2);min-width:160px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000073}.picker-menu__option{border-radius:var(--r-1);width:100%;color:var(--text-1);font:inherit;font-size:var(--fs-cap);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:5px 8px;display:flex}.picker-menu__option:hover{background:var(--bg-2)}.picker-menu__option--active{color:var(--accent)}.picker-menu__option-icon{flex:none;justify-content:center;width:13px;display:inline-flex}.chart-x-axis-control{justify-content:center;margin-top:-6px;display:flex}.plot-axis-control{align-items:center;gap:4px;display:inline-flex}.plot-axis-control__select{border-radius:var(--r-1);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:1px 4px;font-size:11px}.plot-axis-control__select:hover,.plot-axis-control__select:focus{border-color:var(--line-2);color:var(--text-1);background:var(--bg-2)}.plot-axis-control__standalone{margin-top:8px}.findings-strip{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;list-style:none;display:flex}.findings-strip__btn{text-align:left;border:1px solid var(--line-1);border-radius:var(--r-2);width:100%;color:var(--text-2);font:inherit;font-size:var(--fs-cap);background:0 0;align-items:baseline;gap:8px;padding:6px 8px;display:flex}button.findings-strip__btn{cursor:pointer}button.findings-strip__btn:hover{background:var(--bg-2)}.findings-strip__severity{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:.06em;flex:none;font-weight:700}.findings-strip__severity--error{color:var(--danger)}.findings-strip__severity--warn{color:var(--warn)}.findings-strip__severity--info{color:var(--text-3)}.findings-strip__label{color:var(--text-1);flex:none;font-weight:600}.findings-strip__detail{min-width:0}.findings-strip__row--error .findings-strip__btn{border-color:var(--danger)}.findings-strip__row--warn .findings-strip__btn{border-color:var(--warn)}.channel-explorer__list{border:1px solid var(--line-1);border-radius:var(--r-2);max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.channel-explorer__row{border-bottom:1px solid var(--line-1);align-items:stretch;display:flex}.channel-explorer__row:last-child{border-bottom:none}.channel-explorer__item{min-width:0;color:var(--text-2);font-size:var(--fs-cap);text-align:left;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;flex:1;align-items:center;gap:6px;padding:5px 8px;display:flex}.channel-explorer__item:hover{background:var(--bg-3);color:var(--text-1)}.channel-explorer__item[aria-current=true]{border-left-color:var(--select);background:var(--bg-2);color:var(--text-1)}.channel-explorer__item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.channel-explorer__item-badge{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--line-1);border-radius:var(--r-1);flex:none;padding:0 3px;font-size:9px}.channel-explorer__showing{letter-spacing:.05em;text-transform:uppercase;color:var(--select);flex:none;font-size:9px}.channel-explorer__pin{border:none;border-radius:0;flex:none}.channel-explorer__pin[aria-pressed=true]{color:var(--select)}.channel-explorer__overflow{font-size:var(--fs-cap);color:var(--text-3);padding:6px 8px}.channel-explorer__watchlist{margin-top:10px}.channel-explorer__chip{cursor:pointer;border:1px solid #0000}.channel-explorer__chip[aria-current=true]{border-color:var(--select);color:var(--text-1)}.channel-explorer__notice{min-height:16px;font-size:var(--fs-cap);color:var(--warn);margin-top:8px}.channel-explorer__notice:empty{min-height:0;margin-top:0}.channel-explorer__main{min-width:0}.channel-explorer__primary-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.channel-explorer__readout{align-items:baseline;gap:10px;margin-top:6px;display:flex}.channel-explorer__time{align-items:center;gap:8px;margin-top:8px;display:flex}.channel-explorer__scalar{border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--bg-2);margin-bottom:12px;padding:14px 16px}.channel-explorer__context{margin-top:14px}.channel-explorer__context-title{font-size:var(--fs-cap);color:var(--text-2);margin-bottom:6px;font-weight:700}.channel-explorer__context svg [role=button]:focus-visible{outline:2px solid var(--select);outline-offset:2px}.channel-explorer__legend{font-size:var(--fs-micro);color:var(--text-3);flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.channel-explorer__legend span{align-items:center;gap:4px;display:inline-flex}.channel-explorer__empty{color:var(--text-3);font-size:var(--fs-body);padding:24px}.channel-explorer__bars{border:1px solid var(--line-1);border-radius:var(--r-2);background:var(--bg-1);flex-direction:column;gap:2px;padding:6px;display:flex}.channel-explorer__bar{border-radius:var(--r-1);color:var(--text-2);font-size:var(--fs-cap);text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(140px,max-content) 2fr auto;grid-template-areas:"label track value""label track delta";align-items:center;gap:2px 10px;padding:5px 8px;display:grid}.channel-explorer__bar:hover{background:var(--bg-3);color:var(--text-1)}.channel-explorer__bar:focus-visible{outline:2px solid var(--select);outline-offset:1px}.channel-explorer__bar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-1);grid-area:label;overflow:hidden}.channel-explorer__bar-track{background:var(--bg-input);border:1px solid var(--line-1);border-radius:3px;grid-area:track;height:10px;overflow:hidden}.channel-explorer__bar-fill{background:var(--accent);height:100%;display:block}.channel-explorer__bar-value{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-1);white-space:nowrap;grid-area:value;font-weight:700}.channel-explorer__bar-delta{font-size:var(--fs-micro);text-align:right;color:var(--text-3);white-space:nowrap;grid-area:delta}.channel-explorer__context-details{border:1px solid var(--line-1);border-radius:var(--r-2);margin-top:12px;padding:6px 10px}.channel-explorer__context-details>summary{cursor:pointer;font-size:var(--fs-cap);color:var(--text-2);font-weight:700}.channel-explorer__context svg{max-width:100%;height:auto}.channel-explorer__list-col{min-width:0}.channel-explorer__time{flex-wrap:wrap}.channel-explorer__time input[type=range]{min-width:110px}@media (width<=760px){.channel-explorer{padding:8px}.channel-explorer__list{max-height:200px}.channel-explorer__toolbar .input{max-width:100%}.channel-explorer__view{width:100%}.channel-explorer__readout{flex-wrap:wrap}.channel-explorer__bar{grid-template-columns:1fr auto;grid-template-areas:"label value""track track""delta delta"}}@media (prefers-reduced-motion:reduce){button,select,input[type=text],input[type=number],.progress__fill{transition:none}}
