:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#111;color:#f2f0eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-height:100vh;background:#171717;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #3b3b3b;background:transparent;color:#e8e5de;border-radius:10px;padding:8px 12px;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover:not(:disabled){background:#ffffff0a;border-color:#585858}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(74,117,153,.55);outline-offset:2px}.field-horizontal{display:flex;align-items:center;gap:12px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:#e8e5de;border-color:#e8e5de;color:#111}button.primary:hover:not(:disabled){background:#fff;border-color:#fff}button.ghost{border-color:#3a3a3a;background:#ffffff05}button.small{padding:5px 9px;font-size:12px;border-radius:9px}button.danger{color:#f0b0b0;border-color:#5a3a3a}input,select,textarea{width:100%;border-radius:10px;border:1px solid #d8d5cf;background:#fff;color:#171717;padding:9px 11px;outline:none}input::placeholder,textarea::placeholder{color:#9a968d}input:focus,select:focus,textarea:focus{border-color:#9f988a;box-shadow:0 0 0 3px #ffffff0f}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:calc(100vw - 20px);margin:0 auto;padding:10px 0 14px;height:calc(100vh - 24px);display:flex;flex-direction:column;gap:10px}.topbar{position:relative;overflow:hidden;display:flex;gap:12px;align-items:center;min-height:52px;padding:10px 12px;border-radius:16px;background:#141414;border:1px solid #2b2b2b}.topbar-left{position:relative;display:flex;align-items:center;min-width:0}.brand-sprite{position:absolute;left:-55px;top:125%;width:340px;max-width:none;transform:translateY(-48%);opacity:.6;filter:drop-shadow(0 12px 18px rgba(0,0,0,.8));pointer-events:none;z-index:0}.brand-copy{position:relative;z-index:1;min-width:0}.brand-name{font-size:16px;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 3px rgba(0,0,0,.95),0 8px 20px rgba(0,0,0,.8)}.brand-status{margin-top:2px;display:inline-flex;align-items:center;gap:8px;color:#a2a2a2;font-size:12px}.brand-status.ok{color:#a6c7b2}.brand-status.bad{color:#c89a9a}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}.topbar-actions{display:flex;flex:1 1 auto;align-items:center;gap:12px;min-width:0}.topbar-action-group{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.25rem 0}.examples-group{position:absolute;left:50%;transform:translate(-50%)}.calculation-group{margin-left:auto}.topbar-divider{width:1px;height:2rem;background:var(--border, #d8dde6);margin:0 .35rem}.calculation-status{font-size:.74rem;color:var(--muted, #667085);white-space:nowrap}.field-error{color:#b42318;font-size:.76rem;margin-top:.25rem}.group-list{padding:.65rem .8rem;display:grid;gap:.35rem}.group-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.balance-row{position:relative;padding:.45rem .7rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:start}.balance-row .field-error{grid-column:1 / -1}.balance-row .delete-button{align-self:center}.chemical-input-wrap{position:relative;overflow:hidden}.chemical-input-wrap .chemical-input{position:relative;z-index:1;background:transparent}.chemical-ghost{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;align-items:center;padding:9px 11px;font:inherit;font-weight:600;letter-spacing:inherit;line-height:normal;white-space:pre;pointer-events:none;color:transparent}.chemical-ghost-suffix{color:#98a2b3}@media (max-width: 900px){.topbar-action-group{flex-wrap:wrap}}.reset-example-button,.auto-calculate-toggle{display:inline-flex;align-items:center;gap:7px}.action-icon{width:15px;height:15px;fill:currentColor;flex:0 0 auto}.auto-calculate-toggle{position:relative;min-height:36px;padding:7px 9px 7px 11px;border:1px solid #3a3a3a;border-radius:10px;background:#ffffff05;color:#c9c6be;font-size:13px;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.auto-calculate-toggle:hover,.auto-calculate-toggle.is-active{border-color:#5d7488;background:#7fa4c21a;color:#f0f3f5}.auto-calculate-toggle input{position:absolute;right:9px;width:32px;height:18px;margin:0;opacity:0;cursor:pointer;z-index:1}.switch-track{width:32px;height:18px;padding:2px;border:1px solid #595959;border-radius:999px;background:#2c2c2c;transition:background .12s ease,border-color .12s ease}.switch-track:before{content:"";display:block;width:12px;height:12px;border-radius:50%;background:#d7d3cb;transition:transform .15s ease,background .12s ease}.auto-calculate-toggle input:checked+.switch-track{border-color:#91b2cc;background:#537b9b}.auto-calculate-toggle input:checked+.switch-track:before{transform:translate(14px);background:#fff}.auto-calculate-toggle:focus-within{box-shadow:0 0 0 3px #749bb940}.example-picker select{min-width:162px;background:#171717;color:#e8e5de;border-color:#3b3b3b}.example-picker select option{background:#171717;color:#e8e5de}.topbar-mode{display:flex;justify-content:flex-end}.segmented{display:inline-flex;overflow:hidden;border-radius:999px;border:1px solid #3b3b3b}.segmented button{border:0;border-radius:0;background:transparent}.segmented button.active{background:#ece7dc;color:#111}.plot-controls .segmented button.active{background:#1f5e52;color:#fff}.workspace-grid{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:12px;margin-top:12px;flex:1;min-height:0}.workspace-tabs{display:flex;align-items:center;gap:6px;min-height:38px;padding:0 4px}.workspace-tab-list{display:flex;gap:5px;min-width:0;flex:1;overflow-x:auto;scrollbar-width:none}.workspace-tab{display:flex;align-items:center;gap:3px;flex:0 0 auto;padding:3px;border:1px solid #343434;border-radius:9px;background:#1b1b1b}.workspace-tab.active{background:#ece7dc;border-color:#ece7dc}.workspace-tab button{border:0;padding:4px 6px;color:#bbb7ad}.workspace-tab.active button{color:#171717}.workspace-tab-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-tab-edit,.workspace-tab-close,.workspace-scroll,.workspace-add{width:28px;height:28px;padding:0;display:grid;place-items:center}.workspace-scroll,.workspace-add{border-color:#3b3b3b;background:#1b1b1b}.workspace-add{font-size:18px}.workspace-series-list{display:grid;gap:8px}.workspace-series-group{padding:10px;border:1px solid #e7e2d7;border-radius:12px;background:#fbfaf7}.workspace-series-group.is-disabled{opacity:.62}.workspace-series-head,.workspace-series-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.workspace-series-toggle{padding:3px 0;border:0;font-weight:700}.workspace-series-actions{justify-content:flex-start;margin:8px 0}.workspace-series-hint{margin:8px 0;color:#76591f;font-size:12px}.x-variable-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.pane{min-height:0;height:100%;background:#fff;border:1px solid #dcd7cc;border-radius:16px;color:#171717;overflow:hidden;display:flex;flex-direction:column}.mechanism-pane{position:relative}.mechanism-rail-backdrop{display:none}.mechanism-rail{position:absolute;z-index:5;inset:0 auto 0 0;width:34px;padding:7px 3px;border-right:1px solid #e5e0d6;background:#faf9f6;transition:width .16s ease;overflow:hidden}.mechanism-rail.is-open{width:min(300px,calc(100% - 26px));padding:10px;border-radius:16px 0 0 16px;box-shadow:12px 0 28px #0000001f}.mechanism-rail-toggle{width:26px;height:26px;padding:0;border-radius:7px}.mechanism-rail-title{margin:12px 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6f6b63}.mechanism-rail-list{display:grid;gap:5px}.mechanism-rail-row{display:grid;grid-template-columns:minmax(0,1fr) 25px 25px;align-items:center;gap:4px;padding:4px;border-radius:8px}.mechanism-rail-row.active{background:#edf3f8;box-shadow:inset 2px 0 #537497}.mechanism-rail-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;text-align:left}.mechanism-rail-row input{min-width:0;padding:5px}.mechanism-rail-icon{width:25px;height:25px;padding:0;border:0}.mechanism-new{margin-top:12px;width:100%}.mechanism-file-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.mechanism-rail-collapsed{display:grid;gap:3px;margin-top:7px}.mechanism-rail-collapsed button{width:29px;height:112px;padding:6px 4px;border:0;border-left:2px solid transparent;border-radius:5px;font-size:12px;font-weight:650;line-height:1.2;writing-mode:vertical-rl;text-orientation:mixed;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mechanism-rail-collapsed button.active{border-left-color:#537497;background:#edf3f8}.mechanism-pane>.pane-tabs-row,.mechanism-pane>.pane-body{margin-left:34px}.mechanism-pane>.pane-body{padding-left:16px}.series-chip-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.mechanism-tag-field{display:inline-flex!important;align-items:center;gap:6px;color:#6f6b63!important;font-size:11px}.mechanism-tag-field input{width:130px;padding:5px 7px;font-size:12px}.pane button{color:#111;border-color:#d7d1c5}.pane button:hover:not(:disabled){background:#f4f1ea}.pane-tabs{display:flex;gap:0;padding:0}.output-pane>.pane-tabs{padding:8px 12px 0;border-bottom:1px solid #ece8de}.pane-tabs-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:8px 12px 0;border-bottom:1px solid #ece8de}.pane-tab-actions{display:flex;gap:6px;padding-bottom:7px}.danger-action{color:#9b2f2f;border-color:#d9a4a4;background:#fff4f4}.reset-action{color:#6f4d10;border-color:#dec487;background:#fff8e8}.pane-tabs button{border:0;border-radius:0;padding:10px 12px 11px;color:#6c6962;background:transparent;border-bottom:2px solid transparent}.pane-tabs button.active{color:#171717;border-bottom-color:#171717}.pane-body{padding:10px;flex:1;min-height:0;overflow:auto}.empty-pane,.empty-stage{min-height:620px}.empty-pane{border-top:1px solid transparent}.empty-stage{background:#fff}.setup-pane .pane-body,.output-pane .pane-body{min-height:calc(100% - 48px)}.table-card,.tab-stack,.representation-panel{display:grid;gap:12px}.table-card.flush{gap:8px}.compact-head{justify-content:flex-end}.table-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-head strong{font-size:13px;font-weight:600}.table-scroll{overflow:auto;border:1px solid #e7e2d7;border-radius:14px;background:#fff}.tall-table{min-height:460px}.compact-composition-table{max-height:190px}.compact-composition-table th,.compact-composition-table td{padding:7px 9px}.compact-composition-table td input,.compact-composition-table td select{padding:6px 8px}.blank-table table{min-width:100%}table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #efebe3;padding:10px 12px;vertical-align:top}th{position:sticky;top:0;z-index:1;background:#fff;color:#7c7870;font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:left}.narrow-col{width:120px}.action-col{width:72px}.right-actions{text-align:right;white-space:nowrap}.right-actions .icon-button,.right-actions .delete-button{margin-left:auto}.type-select{min-width:150px;padding:8px}.compact-select{min-width:116px;padding:5px 8px;font-size:12px}.constant-name-readonly{min-height:38px;display:flex;align-items:center;padding:8px 10px;border-radius:9px;background:#f7f4ee;color:#171717;font-weight:700}.constant-value-cell{display:flex;gap:7px;align-items:center}.constant-value-cell input{min-width:0}.slider-toggle{flex:0 0 auto;width:34px;height:34px;padding:0;border:1px solid var(--border, #d7d0c6);border-radius:8px;background:#f7f4ee;cursor:pointer}.slider-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8;vertical-align:middle}.slider-toggle.active{background:#1f5e52;border-color:#1f5e52;color:#fff}.slider-toggle:disabled{cursor:not-allowed;opacity:.45}.constant-slider-row td{padding-top:8px}.constant-slider-control{padding:12px;border:1px solid #ded6c9;border-radius:10px;background:#fbfaf7}.constant-slider-fields{display:grid;grid-template-columns:minmax(92px,.7fr) minmax(180px,2fr) minmax(92px,.7fr) minmax(80px,.55fr);gap:12px;align-items:end}.constant-slider-fields label{display:grid;gap:5px;font-size:12px;color:var(--muted, #6c665e)}.constant-slider-fields input{min-width:0}.constant-slider-fields .slider-track input{width:100%;accent-color:#1f5e52}@media (max-width: 700px){.constant-slider-fields{grid-template-columns:1fr 1fr}.constant-slider-fields .slider-track{grid-column:1 / -1;grid-row:2}}.chemical-input{font-weight:600}.check-input{width:16px;height:16px;accent-color:#5d84a9}.add-button{color:#345c84;border-color:#b8cadf;background:#f4f8fb}.delete-button{color:#a03b3b;border-color:#d7a8a8;background:#fff4f4}.delete-button:hover:not(:disabled){background:#ffe9e9}.run-button{color:#0f172a;background:#d8e5f0;border-color:#d8e5f0}.run-button.is-dirty{background:#f1d69a;border-color:#f1d69a}.run-button.is-loading{background:#c8c8c8;border-color:#c8c8c8}.run-button.is-ready{background:#b9d8c3;border-color:#b9d8c3}.run-button.is-error{background:#e7b5b5;border-color:#e7b5b5}.run-button:hover:not(:disabled){background:#c4d6e6;border-color:#c4d6e6}.integration-toggle{justify-self:end;margin-top:4px}.integration-slab{margin-top:10px;padding:12px;border:1px solid #e7e2d7;border-radius:14px;background:#fbfbfa}.integration-note{margin-top:8px;color:#6f6b63;font-size:13px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.section-header{font-size:13px;font-weight:700;color:#1a1a18}.result-info{margin-top:12px;border:1px solid #e7e2d7;border-radius:14px;background:#fff;overflow:hidden}.result-info>summary{cursor:pointer;padding:12px 14px;font-size:15px;font-weight:700;color:#1a1a18;list-style:none;display:flex;align-items:center;gap:8px}.result-info>summary:before{content:"▸";color:#7a746a;font-size:12px;transition:transform .12s ease}.result-info[open]>summary:before{transform:rotate(90deg)}.result-info>summary::-webkit-details-marker{display:none}.table-view{display:grid;gap:10px;padding:8px}.table-view.is-expanded{position:fixed;top:18px;right:18px;bottom:18px;left:18px;z-index:2147483645;padding:18px;border-radius:18px;border:1px solid #dcd7cc;background:#fff;box-shadow:0 24px 80px #00000059}.table-view.is-expanded .tableWrap{min-height:0;height:calc(100vh - 112px)}.toolbar-actions{display:flex;gap:8px;align-items:center}.constants-actions{display:grid;grid-template-columns:max-content minmax(116px,max-content);white-space:nowrap}.constants-actions .compact-select{flex:0 0 auto}.icon-only-button{width:32px;height:32px;padding:0;display:inline-grid;place-items:center;font-size:16px}.csv-button{display:inline-flex;align-items:center;gap:6px}.diagnostics-tree{display:grid;gap:8px;padding:0 14px 14px;background:#fff;max-height:280px;overflow:auto;font-size:14px}.diagnostics-node{padding:6px 0 0}.diagnostics-node>summary{cursor:pointer;list-style:none;font-weight:700;color:#2b2b2b;display:flex;align-items:center;gap:7px}.diagnostics-node>summary:before{content:"▸";color:#7a746a;font-size:11px;transition:transform .12s ease}.diagnostics-node[open]>summary:before{transform:rotate(90deg)}.diagnostics-node>summary::-webkit-details-marker{display:none}.diagnostics-children{margin:6px 0 0 7px;padding:2px 0 2px 16px;border-left:2px solid #e2dace;display:grid;gap:6px;overflow:auto;max-width:100%}.diagnostics-leaf{display:flex;gap:8px;align-items:baseline;color:#2b2b2b;padding:4px 0}.diagnostics-key{color:#6f6b63;min-width:110px;text-transform:none}.diagnostics-value{color:#111;word-break:break-word;overflow-wrap:anywhere}td input,td select{min-width:92px;padding:8px 10px;border-radius:9px}.icon-button{width:28px;height:28px;display:grid;place-items:center;padding:0;border-radius:999px;line-height:1}.expand-button{color:#fff;border-color:#537497;background:#537497}.expand-button:hover:not(:disabled){background:#43607c;border-color:#43607c}.row-actions{display:flex;gap:6px;align-items:center}.detail-row td{padding-top:0}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:10px 0 2px}.constant-parameters-row .detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 0 8px}.detail-grid label{display:grid;gap:6px}.detail-grid label span,.field label{color:#6f6b63;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.detail-span-2{grid-column:span 2}.field-grid{display:grid;gap:12px}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid.one{grid-template-columns:minmax(0,1fr)}.solver-disabled-field{border-radius:12px;padding:10px;background:#6f6b6314;opacity:.62}.solver-disabled-field select{cursor:not-allowed}.plot-stack{display:grid;gap:12px}.plot-frame{height:540px;position:relative}.plot-loading{display:grid;place-items:center;min-height:520px;color:#6f6b63;font-size:13px}.help,.muted,.panel-hint,.note-block{color:#6f6b63;font-size:13px;line-height:1.45}.note-block{padding-top:2px}.plot-controls{display:grid;gap:16px;padding:16px;border:1px solid #e7e2d7;border-radius:14px;background:#fff}.plot-controls-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.plot-fields-column{display:grid;gap:16px;min-width:0}.plot-axes-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start;align-items:start;min-width:0}.plot-controls-grid .field{align-items:stretch;justify-items:stretch;text-align:left;gap:6px}.plot-controls-grid .field .segmented,.solver-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:3px;background:#f7f4ee}.axis-controls{display:grid;gap:8px;min-width:0;align-self:start;justify-items:center;text-align:center}.axis-controls>.field{display:grid;gap:6px;width:100%}.axis-range-control{display:grid;gap:8px;min-width:0;width:100%}.axis-range-control .segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:3px;background:#f7f4ee}.axis-range-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.axis-range-input{display:grid;gap:5px;min-width:0;color:#6f6b63;font-size:11px;font-weight:700;letter-spacing:.08em;text-align:left;text-transform:uppercase}.axis-number-input{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;text-align:right}.axis-number-input::-webkit-outer-spin-button,.axis-number-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.axis-range-inputs input,.plot-controls-grid input,.plot-controls-grid select{min-width:0;width:100%}@media (max-width: 860px){.plot-controls-grid,.plot-axes-column{grid-template-columns:minmax(0,1fr)}}.plot-controls-grid .field select{text-align:left}.segmented.compact button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:8px 10px;border-radius:999px}.plot-series-block{display:grid;gap:10px}.derived-quantities{display:grid;gap:12px;padding:16px;border:1px solid #e7e2d7;border-radius:14px;background:#fff}.derived-quantity-list{display:grid;gap:10px}.derived-quantity-row{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.5fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #e7e2d7;border-radius:12px;background:#fbfaf7}.derived-quantity-row label{display:grid;gap:5px;color:#6f6b63;font-size:12px}.derived-quantity-row .field-error{grid-column:1 / -1}.formula-input-wrap{position:relative;z-index:0}.formula-input-wrap:focus-within{z-index:2}.formula-suggestions{position:absolute;top:calc(100% + 4px);left:0;z-index:3;display:grid;max-width:100%;border:1px solid #cfc7b9;border-radius:8px;background:#fff;box-shadow:0 8px 18px #00000024;overflow:hidden;white-space:nowrap}.formula-suggestion{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:150px;padding:6px 8px;border:0;border-radius:0;background:transparent;color:#3d3933;font-size:12px;white-space:nowrap}.formula-suggestion:hover{background:#f4f1ea}.formula-suggestion small{color:#817a70;font-size:10px}.plot-series-head{display:flex;justify-content:space-between;gap:12px;color:#5f5b55;font-size:13px}.representation-panel{padding-top:4px}.series-chips{display:flex;gap:8px;flex-wrap:wrap}.series-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid #ddd6c8;background:#fff;color:#111}.series-control{display:inline-flex;align-items:center}.series-dot{width:9px;height:9px;border-radius:50%;background:#171717;flex:0 0 auto}.series-chip.active{background:#171717;color:#fff;border-color:#171717;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 18%,transparent)}.series-chip.active .series-dot{border:1px solid rgba(255,255,255,.8);box-shadow:0 0 0 1px #00000026}.series-style-menu{position:fixed;z-index:2147483646;display:grid;gap:10px;width:320px;padding:14px;border:1px solid #d9d2c5;border-radius:14px;background:#fff;color:#111;max-height:calc(100vh - 24px);overflow-y:auto}.series-style-title{font-weight:700}.series-style-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.series-style-close{width:28px;height:28px;padding:0;border-radius:50%;font-size:18px;line-height:1}.series-style-menu label{display:grid;gap:6px;color:#111}.color-row{display:flex;gap:6px;flex-wrap:wrap}.line-style-grid,.marker-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.line-style-grid button,.marker-style-grid button{display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 8px;border-radius:10px;font-size:12px}.line-style-grid button.active,.marker-style-grid button.active{background:#171717;color:#fff;border-color:#171717}.line-sample{width:28px;border-top:2px solid currentColor}.line-dash{border-top-style:dashed}.line-dot{border-top-style:dotted}.line-dashdot,.line-longdashdot{border-top-style:dashed}.line-longdash{width:36px;border-top-style:dashed}.color-picker-panel{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center}.color-picker-panel input[type=color]{width:48px;height:38px;padding:3px;border-radius:10px}.color-swatch{width:28px;height:28px;padding:0;border-radius:999px;border-color:#d0d0d0}.series-empty{color:#8b857c;font-size:13px}.plot-controls-stack{display:grid;gap:12px}.panel-card,.indicators-card{display:grid;gap:14px;padding:16px;border:1px solid #e7e2d7;border-radius:14px;background:#fff}.indicators-card-head,.indicator-add-row,.indicator-row-footer,.toggle-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.indicators-card-head,.indicator-add-row{justify-content:space-between}.indicator-add-row label{display:block;min-width:min(320px,100%);color:#5f5b55;font-size:13px}.pretty-toggle,.pretty-check{display:inline-flex;align-items:center;gap:8px;color:#4b4741;font-size:13px;cursor:pointer}.pretty-toggle input,.pretty-check input{position:absolute;opacity:0;pointer-events:none}.pretty-toggle span{width:38px;height:22px;padding:2px;border-radius:999px;background:#ddd6c8;border:1px solid #cfc7b9}.pretty-toggle span:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .12s ease}.pretty-toggle input:checked+span{background:#171717;border-color:#171717}.pretty-toggle input:checked+span:before{transform:translate(16px)}.pretty-check span{width:20px;height:20px;border:1px solid #cfc7b9;border-radius:6px;background:#fff}.pretty-check input:checked+span{background:#171717;border-color:#171717;box-shadow:inset 0 0 0 4px #fff}.indicator-list{display:grid;gap:10px}.indicator-item{display:grid;grid-template-columns:20px minmax(150px,1fr) minmax(136px,.75fr) auto 82px 38px auto 82px 38px auto;gap:8px;align-items:end;padding:12px;border:1px solid #e7e2d7;border-radius:13px;background:#fbfaf7}.indicator-enable-cell{display:grid;place-items:center;align-self:center}.indicator-name-field,.indicator-display-field,.compact-number,.compact-color{display:grid;gap:5px;color:#6f6b63;font-size:12px}.range-title{align-self:center;color:#5f5b55;font-size:13px;font-weight:700}.range-arrow{align-self:center;color:#817a70}.compact-number input{width:82px;padding:7px 8px}.compact-color{display:block}.compact-color input[type=color]{width:38px;height:34px;padding:2px}.indicator-row-footer{display:flex;align-items:center;gap:6px;color:#6f6b63;font-size:12px}.js-plotly-plot,.js-plotly-plot .user-select-none{font-family:Georgia,Times New Roman,serif!important}.plotly-notifier{top:18px!important;right:18px!important;max-width:min(360px,calc(100vw - 36px))!important}.plotly-notifier .notifier-note{min-width:0!important;max-width:100%!important;margin:8px 0 0!important;padding:12px 14px!important;border:1px solid #5d7488!important;border-radius:14px!important;background:#141414f5!important;color:#e8e5de!important;box-shadow:0 18px 50px #00000052!important;font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;font-size:13px!important;line-height:1.42}.indicator-warning{color:#8a6a00}.indicator-error{color:#8d3b3b;font-weight:600}.plot-panel .placeholder,.table-panel .placeholder,.diagnostics-panel .placeholder,.raw-panel .placeholder{margin:0}.placeholder,.diagnostics,.json-preview{border-radius:14px}.diagnostics{margin:0;padding:14px;border:1px solid #e7e2d7;background:#fff;color:#222;font-size:13px;line-height:1.45;overflow:auto;max-height:100%;min-height:520px}.json-preview{margin:0;padding:14px;border:1px solid #e7e2d7;background:#fff;color:#222;font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;overflow:auto;white-space:pre-wrap;word-break:break-word}.tableWrap{overflow:auto;max-height:100%;min-height:520px;border:1px solid #e7e2d7;border-radius:14px;background:#fff}.tableWrap td{font-family:IBM Plex Mono,JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.pane .panelTitle{display:none}.representation-panel .panel-hint{padding-top:2px}.loading-strip{margin-top:10px;color:#6f6b63;font-size:13px}.error-banner{position:fixed;top:18px;right:18px;z-index:2147483644;max-width:min(520px,calc(100vw - 36px));padding:12px 14px;border-radius:14px;border:1px solid #5a3a3a;background:#2a1818f5;color:#f1c1c1;box-shadow:0 18px 50px #00000052;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.export-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483643;display:grid;place-items:center;padding:20px;background:#0a0a0a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.export-dialog{width:min(390px,100%);padding:20px;border:1px solid #dcd7cc;border-radius:16px;background:#fff;color:#171717;box-shadow:0 24px 70px #0000004d}.export-dialog-kicker{margin-bottom:6px;color:#6f6b63;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.export-dialog h2{margin:0;font-size:18px}.export-dialog p{margin:8px 0 18px;color:#6f6b63;font-size:13px;line-height:1.45}.export-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.mechanism-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483646;display:grid;place-items:center;padding:20px;background:#0a0a0a7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mechanism-dialog{width:min(370px,calc(100vw - 40px));padding:20px;border:1px solid #dcd7cc;border-radius:16px;background:#fff;color:#171717;box-shadow:0 24px 70px #0000004d}.mechanism-dialog h2{margin:0;font-size:18px}.mechanism-dialog p{margin:8px 0 18px;color:#6f6b63;font-size:13px;line-height:1.45}.error-banner strong,.error-banner span{display:block}.error-banner strong{margin-bottom:4px;color:#ffe0e0;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.error-banner span{line-height:1.42}.error-close{width:28px;height:28px;padding:0;border-radius:999px;border-color:#ffffff29;color:#ffe0e0;background:#ffffff0f;font-size:18px;line-height:1}.footer{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:calc(100vw - 20px);min-height:28px;padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-bottom:0;border-radius:10px 10px 0 0;background:#141414c2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#a5a29b;font-size:11px;display:flex;align-items:center;justify-content:center;gap:14px;z-index:10}.footer-links{display:flex;gap:7px;align-items:center;min-width:0}.footer-version{position:absolute;right:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;white-space:nowrap}.footer a{color:#a5a29b;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.footer a:hover{color:#d5d1c8}.footer-icon{width:14px;height:14px;fill:currentColor;flex:0 0 auto;display:block}.agentation-overlay{z-index:2147483647}.hidden-file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}@media (max-width: 1240px){.workspace-grid{grid-template-columns:1fr}.pane{min-height:auto}.empty-pane,.empty-stage,.diagnostics,.tableWrap{min-height:360px}.topbar{grid-template-columns:1fr;justify-items:stretch}.topbar-actions,.topbar-mode{justify-content:flex-start}}@media (max-width: 1240px) and (min-width: 641px){.topbar-actions{grid-template-columns:minmax(0,1fr);justify-items:stretch}.topbar-action-group{flex-wrap:wrap;justify-content:flex-start}.pane-tabs-row{flex-wrap:wrap}.pane-tabs{min-width:0;overflow-x:auto}}@media (max-width: 900px){.pane-tabs{overflow-x:auto}.field-grid.two,.field-grid.three,.field-grid.four,.detail-grid,.plot-controls-grid,.indicator-add-row label,.indicator-item{grid-template-columns:1fr}.detail-span-2{grid-column:auto}}.runtime-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #3a3a3a;border-radius:999px;background:#ffffff06;color:#c9c6be;font-size:12px;white-space:nowrap}.runtime-dot{width:7px;height:7px;border-radius:50%;background:#87b69a;box-shadow:0 0 0 3px #87b69a1a}.output-tabs-row{align-items:center}.output-state{padding-bottom:7px}.state-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:999px;border:1px solid #ded9cf;background:#faf9f6;color:#706b63;font-size:11px;white-space:nowrap}.state-chip.ready{color:#42604b;border-color:#c6dacb;background:#f1f8f3}.state-chip.stale{color:#74571f;border-color:#e1cfaa;background:#fff9ec}.state-chip.running{color:#3d5d76;border-color:#c4d5e2;background:#f1f7fb}.state-chip.empty{color:#706b63}.spinner{width:11px;height:11px;border:2px solid rgba(61,93,118,.25);border-top-color:#3d5d76;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.table-head>div{display:grid;gap:3px}.table-subtitle{color:#7b766e;font-size:12px;font-weight:400;line-height:1.35}.step-col{width:104px}.step-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:38px}.step-badge{display:inline-grid;place-items:center;min-width:31px;height:26px;padding:0 8px;border-radius:999px;background:#edf2f6;color:#36526a;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.muted-badge{background:#f5f3ee;color:#aaa59b}input.invalid{border-color:#c87b72;background:snow}.empty-table-row td{height:90px;color:#8b857c;text-align:center;vertical-align:middle;font-size:13px}.mechanism-hint{padding:4px 2px 0;color:#777169;font-size:12px;line-height:1.45}.inline-unit-field{display:grid;grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:9px}.inline-unit-field span{color:#7d776f;font-size:12px;white-space:nowrap}.arrhenius-grid{grid-template-columns:repeat(2,minmax(120px,1fr));padding:0}.species-name{min-height:38px;display:flex;align-items:center;font-family:Georgia,Times New Roman,serif;font-size:16px;font-weight:600}.integration-settings{align-content:start}.integration-settings .panel-card{background:#fcfbf8}.integration-settings .field-grid{margin-top:2px}.temperature-profile-note{margin:-2px 0 0}.solver-detail{margin-top:14px!important;padding-top:14px;border-top:1px solid #ece8df}.interpolation-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.interpolation-card p{margin:4px 0 0}.output-points-field{grid-column:1 / -1;padding-top:4px}.empty-stage{display:grid;place-items:center;border:1px dashed #e5e0d6;border-radius:14px;background:radial-gradient(circle at center,rgba(238,235,227,.35),transparent 55%),#fff}.empty-stage-content{display:grid;justify-items:center;gap:7px;max-width:350px;padding:30px;color:#777169;text-align:center;font-size:13px;line-height:1.5}.empty-stage-content strong{color:#292621;font-size:15px}.empty-stage-mark{width:42px;height:42px;display:grid;place-items:center;margin-bottom:3px;border:1px solid #ddd7cc;border-radius:50%;background:#fbfaf7;color:#6b665e;font:21px Georgia,Times New Roman,serif}.stale-notice{padding:9px 12px;border:1px solid #e6d2a9;border-radius:11px;background:#fffaef;color:#76591f;font-size:12px}.diagnostics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 14px 14px}.diagnostic-card{display:grid;gap:4px;padding:10px 11px;border:1px solid #ece8df;border-radius:10px;background:#fbfaf7}.diagnostic-card span{color:#7a756d;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.diagnostic-card strong{color:#292621;font-size:13px;font-weight:650}.table-limit-note{position:sticky;left:0;padding:8px 12px;border-top:1px solid #ece8df;background:#fbfaf7;color:#777169;font-size:12px}@media (max-width: 900px){.arrhenius-grid,.diagnostics-grid,.interpolation-card{grid-template-columns:1fr}.interpolation-card .pretty-toggle{justify-self:start}}@media (max-width: 640px){body{overflow:auto;overflow-x:hidden}.app-shell{width:min(100%,calc(100vw - 16px));height:auto;min-height:calc(100vh - 16px);padding:8px 0}.topbar-action-group{justify-content:flex-start}.topbar,.topbar-actions,.topbar-action-group{min-width:0}.topbar-actions{width:100%;justify-items:stretch}.topbar-action-group{width:100%;max-width:100%}.examples-group,.calculation-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.examples-group .example-picker,.calculation-group .auto-calculate-toggle{grid-column:1 / -1}.topbar-action-group button,.auto-calculate-toggle,.example-picker{flex:1 1 auto}.example-picker select{min-width:0}.workspace-grid{margin-top:0}.pane-tabs-row{align-items:stretch;flex-direction:column}.pane-tab-actions,.output-state{padding:0 0 8px}.plot-frame{height:380px}.plot-frame .js-plotly-plot,.plot-frame .plot-container,.plot-frame .svg-container{height:380px!important}.series-style-menu{width:min(320px,calc(100vw - 24px))}}@media (max-width: 1240px){.topbar{flex-wrap:wrap;align-items:flex-start}.topbar-actions{flex:1 0 100%;width:100%;flex-wrap:wrap;justify-content:space-between}.examples-group{position:static;left:auto;transform:none;margin-left:0}.calculation-group{margin-left:auto}.workspace-grid,.pane-tabs-row{min-width:0}.pane-tabs{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;white-space:nowrap}.table-scroll,.tableWrap{max-width:100%;overscroll-behavior-x:contain}}@media (max-width: 640px){html,body,#root{height:auto;min-height:100%}body{overflow-x:hidden;overflow-y:auto}.app-shell{width:min(100%,calc(100vw - 16px));height:auto;min-height:100vh;padding:max(8px,env(safe-area-inset-top)) 0 max(8px,env(safe-area-inset-bottom));gap:8px}.topbar{flex-direction:column;gap:10px;padding:10px}.topbar-actions{display:flex;flex:none;flex-direction:column;align-items:stretch;gap:8px}.topbar-action-group,.examples-group,.calculation-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-left:0;gap:8px}.examples-group .example-picker,.calculation-group .auto-calculate-toggle{grid-column:1 / -1}.example-picker select,.topbar-action-group button,.auto-calculate-toggle{width:100%;min-height:44px}.auto-calculate-toggle{justify-content:space-between;padding-right:11px}.workspace-grid{flex:none;gap:8px;margin-top:0}.pane{height:auto;min-width:0}.pane-body{overflow:visible;padding:8px}.pane-tabs-row,.output-tabs-row{padding:6px 8px 0;flex-direction:row;align-items:flex-end;flex-wrap:nowrap;overflow:hidden}.pane-tabs{flex:1 1 auto}.pane-tabs button{min-height:44px;padding:10px 12px}.output-state{flex:0 0 auto;padding-bottom:7px}.empty-pane,.empty-stage,.diagnostics,.tableWrap{min-height:320px}.mechanism-pane>.pane-tabs-row,.mechanism-pane>.pane-body{margin-left:34px}.mechanism-rail-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;border:0;border-radius:0;background:#0a0a0a52}.mechanism-rail{position:absolute;z-index:21}.mechanism-rail.is-open{width:min(360px,calc(100vw - 24px));max-width:calc(100vw - 24px);min-height:100%;padding:12px;border-radius:16px 0 0 16px;overflow-y:auto}.mechanism-rail-toggle,.mechanism-rail-icon,.slider-toggle,.icon-button,.icon-only-button{width:40px;height:40px}.mechanism-rail-row{grid-template-columns:minmax(0,1fr) 40px 40px;gap:6px}.mechanism-rail-row input{min-width:0;min-height:40px}.mechanism-new,.mechanism-file-actions button{min-height:44px}.table-scroll,.tableWrap{overflow:auto;max-width:100%}.table-scroll>table,.tableWrap>table{width:max-content;min-width:100%}.table-head,.section-toolbar{align-items:flex-start}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.plot-frame{height:clamp(320px,55vh,400px);max-width:100%}.plot-frame .js-plotly-plot,.plot-frame .plot-container,.plot-frame .svg-container{height:100%!important;max-width:100%!important}.plot-controls,.panel-card,.indicators-card{padding:12px}.plot-controls-grid,.plot-axes-column,.field-grid.two,.field-grid.three,.field-grid.four,.detail-grid,.indicator-item,.derived-quantity-row,.x-variable-row{grid-template-columns:minmax(0,1fr)}.axis-range-inputs,.constant-slider-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.axis-range-inputs:before{display:none}.constant-slider-fields .slider-track{grid-column:1 / -1}.indicator-add-row label{min-width:0;width:100%}.series-style-menu{left:8px!important;top:auto!important;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px);max-height:min(72vh,620px);padding:14px}.series-style-close{position:sticky;top:0;width:40px;height:40px;background:#fff}.line-style-grid button,.marker-style-grid button,.color-swatch{min-height:40px}.table-view.is-expanded{top:8px;right:8px;bottom:8px;left:8px;padding:12px;border-radius:14px}.table-view.is-expanded .tableWrap{height:calc(100vh - 96px)}.footer{width:calc(100vw - 16px);font-size:10px;gap:8px;padding:4px 8px}.footer-links{flex-wrap:wrap;row-gap:5px}.footer-version{right:8px}}@media (max-width: 374px){.topbar-action-group,.examples-group,.calculation-group{grid-template-columns:minmax(0,1fr)}.examples-group .example-picker,.calculation-group .auto-calculate-toggle{grid-column:auto}}@media (max-width: 640px) and (orientation: portrait){.app-shell{padding-bottom:calc(38px + env(safe-area-inset-bottom))}.topbar{width:calc(100% - 40px);align-self:center;isolation:isolate;min-height:292px}.topbar-left{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:0}.brand-sprite{left:50%;top:76px;width:min(380px,calc(100vw - 28px));max-height:142px;transform:translate(-50%,-50%);object-fit:contain}.brand-copy{position:absolute;top:76px;left:0;right:0;margin:0;text-align:center}.topbar-actions{position:relative;z-index:1;padding-top:142px}.examples-group .example-picker{grid-column:auto}.examples-group,.calculation-group{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.calculation-group{grid-template-columns:repeat(3,minmax(0,1fr))}.calculation-group .auto-calculate-toggle,.calculation-group button{box-sizing:border-box;height:42px;min-height:42px;border-width:1px;border-radius:10px}.calculation-group .auto-calculate-toggle{grid-column:auto;justify-content:center;padding:7px;gap:4px;font-size:11px}.calculation-group .auto-calculate-toggle .action-icon{display:none}.calculation-group .switch-track{width:26px;height:16px}.calculation-group .switch-track:before{width:10px;height:10px}.calculation-group .auto-calculate-toggle input:checked+.switch-track:before{transform:translate(10px)}.topbar-actions{gap:10px}.workspace-grid{display:flex;flex-direction:column}.output-pane{order:-1}.mechanism-rail.is-open{width:min(300px,calc(100vw - 56px));max-width:calc(100vw - 56px)}.footer{z-index:100;min-height:30px;height:calc(30px + env(safe-area-inset-bottom));justify-content:flex-start;padding:4px 76px calc(4px + env(safe-area-inset-bottom)) 8px;font-size:9px;gap:0}.footer-links{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap;gap:5px}.footer-version{right:8px;font-size:9px;background:transparent;padding-left:0}}@media (max-width: 1240px) and (orientation: landscape){html,body,#root{height:100%}body{overflow:hidden}.app-shell{height:calc(100vh - 12px);min-height:0;padding:6px 0 38px}.topbar{flex-direction:row;flex-wrap:nowrap;align-items:center;min-height:48px}.topbar-actions{flex:1 1 auto;width:auto;flex-direction:row;align-items:center;gap:8px}.topbar-action-group,.examples-group,.calculation-group{display:flex;width:auto;margin-left:0;gap:6px}.examples-group{position:absolute;left:50%;transform:translate(-50%)}.calculation-group{margin-left:auto}.workspace-grid{grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);flex:1 1 auto;min-height:0}.pane{height:100%;min-height:0}.pane-body{overflow:auto}.footer{z-index:100;min-height:28px}}
