@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;650;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{font-family:DM Sans,-apple-system,sans-serif;color:#2c4352;background:#f4f7f8;font-size:12px;--teal: #1c8d85;--border: #dfe7ea;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;border:1px solid var(--border);border-radius:5px;background:#fff;color:#45616f;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#edf5f4;border-color:#c4d7d8}button:disabled{opacity:.4;cursor:default}input,select{padding:8px;border:1px solid #d8e3e7;border-radius:5px;background:#fff;color:#304c5c;width:100%;min-width:0;outline:none}input:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 2px #1c8d8515}button:focus-visible,a:focus-visible{outline:2px solid #248e85;outline-offset:2px}input[type=checkbox]{width:14px;height:14px;accent-color:var(--teal)}a{color:inherit;text-decoration:none}small{font-size:10px}.app{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:62px;flex-shrink:0;background:#193642;color:#eef6f8;display:flex;align-items:center;gap:19px;padding:0 22px}.brand{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:7px;color:#9bb6c0;letter-spacing:2.1px;margin-top:4px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #4d777e;background:#2b535d;color:#97d9cd;border-radius:8px;transform:rotate(-3deg)}.top-divider{width:1px;height:25px;background:#fff2;margin:0 5px}.project-switch{display:flex;gap:8px;align-items:center;max-width:320px}.project-switch select{appearance:none;border:0;background:none;color:#fff;padding:0;font-weight:500;font-size:13px}.project-switch option{color:#2f4e5d;background:#fff}.revision{font:10px var(--mono);border:1px solid #ffffff22;border-radius:4px;padding:4px 7px;color:#b2c9d1}.top-right{margin-left:auto;display:flex;align-items:center;gap:20px}.saved{display:flex;align-items:center;gap:6px;font-size:10px;color:#a7cec2}.edition{font:9px var(--mono);color:#bdd0d6;letter-spacing:.7px;border:1px solid #ffffff22;border-radius:3px;padding:5px 7px}.avatar{border-radius:50%;background:#4c6874;width:28px;height:28px;display:grid;place-items:center;font-size:10px}.ribbon{height:78px;flex-shrink:0;display:flex;align-items:center;gap:13px;padding:9px 18px;background:#fafcfc;border-bottom:1px solid #cedbe0}.ribbon-group{display:flex;gap:3px;align-items:center;height:46px;padding-right:14px;border-right:1px solid var(--border)}.ribbon .tool{display:flex;flex-direction:column;gap:6px;min-width:48px;padding:7px 8px;background:none;border:1px solid transparent;font-size:10px;white-space:nowrap}.ribbon .tool:hover{background:#eaf2f3}.ribbon .active{background:#e6f2ef;color:#198a7e;border-color:#cbe4dd}.ribbon-spacer{flex:1}.solve-button{background:#1b8d83;color:#fff;border-color:#1b8d83;font-weight:600;height:37px;white-space:nowrap;padding:0 14px;box-shadow:0 2px 4px #1e8c8322}.solve-button:hover{background:#17786f;color:#fff}.solve-button kbd{font:8px var(--mono);color:#c8e8df;background:#ffffff18;padding:4px;margin-left:10px;border-radius:3px}.workspace{position:relative;display:grid;flex:1;min-height:0}.sidebar{background:#fafcfc;border-right:1px solid var(--border);overflow:auto;padding-bottom:12px}.panel-heading{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--border);font-size:9px;font-weight:600;letter-spacing:1px;color:#8b9da6}.icon{border:0;background:none;padding:5px;color:#7b929e}.icon:hover{background:#e6f0ef;border:0}.project-label{display:flex;gap:9px;align-items:center;padding:19px 15px;font-size:12px;font-weight:600}.project-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-group{margin:2px 8px}.tree-head{width:100%;justify-content:flex-start;gap:7px;border:0;background:none;padding:9px 6px;font-size:11px}.tree-head.active{background:#eaf3f1;color:#267e76}.tree-head span{flex:1;text-align:left}.tree-head b{font:9px var(--mono);color:#8ba1ab;background:#e9eff2;padding:2px 5px;border-radius:3px}.tree-items{padding:3px 0 7px 14px;max-height:185px;overflow:auto}.tree-items button{width:100%;justify-content:flex-start;text-align:left;border:0;background:none;font-size:11px;padding:7px 9px;white-space:nowrap}.tree-items button:hover{background:#edf4f4}.tree-items button.selected{background:#ddf0e9;color:#237e71}.tree-items small{margin-left:auto;font:9px var(--mono);color:#9aabb3}.tree-dot{width:5px;height:5px;border-radius:50%;background:#8aa2ae}.tree-empty{font-size:10px;color:#99aab3;padding-left:10px}.tree-category{padding:18px 15px 7px;color:#5a7786;font-size:9px;font-weight:600;letter-spacing:1px}.geometry-menu{display:grid;gap:7px;min-width:136px;margin:0 7px}.geometry-menu>span{font-size:8px;letter-spacing:1px;color:#667f8b}.geometry-menu select{font-size:10px;padding:6px}.axes-mode{display:block;color:#557280;font-size:10px;margin:15px 0}.axes-mode select{display:block;margin-top:6px}.local-axis-label{font:10px var(--mono);font-weight:600;color:#365361;background:#ffffffde;padding:1px 3px;border-radius:3px;pointer-events:none}.operation-fields,.vector-field{padding:0;margin:0;border:0;min-width:0}.operation-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 14px}.operation-fields>label>input,.operation-fields>label>select{margin-top:7px}.vector-field legend{margin-bottom:8px;color:#557280;font-size:11px}.geometry-preview{width:100%;height:auto;display:block;background:#f0f5f5;border-radius:5px}.sidebar-divider{height:1px;background:var(--border);margin:17px 15px 2px}.sidebar .sidebar-divider+.panel-heading{border:0;height:35px}.sidebar>.tree-head{width:calc(100% - 16px);margin:2px 8px}.sidebar-footer{display:flex;align-items:center;gap:10px;margin-top:16px;padding:16px;background:#fafcfc;border-top:1px solid var(--border);color:#7d929f;font-size:10px}.sidebar-footer small{display:block;margin-top:4px;font:8px var(--mono);color:#9aabb3}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#4a9f89;flex-shrink:0}.center{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.viewbar{min-height:42px;flex-wrap:wrap;gap:6px 12px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--border)}.representation-switch{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden;margin:5px 0}.representation-switch button{border:0;border-radius:0;background:#fff;padding:5px 9px;font-size:10px;font-weight:600;min-width:74px;color:#607b89}.representation-switch button[aria-pressed=true]{background:#e1f1ef;color:#187d75;font-weight:600}.compute-banner{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff5df;color:#795720;font-size:12px}.compute-banner>span{flex:1}.compute-banner button{flex-shrink:0}.mode-switch{display:flex;gap:18px;height:100%}.mode-switch button{height:100%;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;color:#8a9ca6;font-size:11px;padding:0 2px;gap:7px}.mode-switch button.active{border-bottom-color:#228c81;color:#228c81;font-weight:600}.view-actions{display:flex;gap:4px}.view-actions button{font:9px var(--mono);background:none;border:0;padding:5px 7px;color:#93a5ae}.view-actions .selected{background:#edf3f5;color:#385967}.scene{position:relative;isolation:isolate;flex:1;min-height:200px;overflow:hidden}.scene-renderer{isolation:isolate;z-index:0}.scene-labels{position:absolute;inset:0;pointer-events:none;isolation:isolate;z-index:1}.selection-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:4px 10px;border-bottom:1px solid var(--border);background:#f8fbfb;font-size:10px}.selection-toolbar label,.selection-visibility{display:flex;align-items:center;gap:5px}.selection-toolbar select{width:auto;padding:3px 5px;font-size:10px}.selection-toolbar button{padding:4px 6px;font-size:10px}.selection-toolbar button[aria-pressed=true]{color:#08746f;background:#dcefeb}.selection-visibility{margin-left:auto}.scene:focus-visible{outline:2px solid #168e87;outline-offset:-2px}.scene.tool-box{cursor:crosshair}.selection-chooser{position:absolute;z-index:5;width:min(272px,calc(100% - 8px));max-height:min(230px,calc(100% - 8px));display:flex;flex-direction:column;padding:6px;border:1px solid #97b5bf;border-radius:7px;background:#fcfefe;box-shadow:0 5px 22px #163c4530;overflow:hidden}.selection-alternatives{position:absolute;left:16px;bottom:48px;z-index:4;display:flex;align-items:center;gap:3px;padding:3px 5px;border:1px solid #bfd2d5;border-radius:5px;background:#fbfefeea;font-size:10px;color:#57727d}.selection-alternatives button{padding:2px 5px;border:0;background:transparent;font-size:11px}.chooser-heading{font-size:11px;padding:5px;color:#45616e}.chooser-options{min-height:0;overflow:auto}.chooser-options button{display:block;width:100%;text-align:left;border:0;padding:7px;background:transparent}.chooser-options button:hover,.chooser-options button:focus{outline:none;background:#dcefeb}.chooser-options b,.chooser-options small{display:block}.chooser-options small{color:#657e89;font-size:10px;margin-top:3px;overflow-wrap:anywhere}.selection-summary{margin:5px 0 12px;font-size:11px}.selection-summary p{margin:4px 0}.selection-summary>div{display:flex;flex-wrap:wrap;gap:4px;max-height:95px;overflow:auto}.selection-summary [role=listitem]{display:flex;border:1px solid #b6d3d2;border-radius:4px}.selection-summary button{border:0;padding:3px 5px;font-size:10px;background:#edf6f4}.selection-summary small{display:block;margin-top:7px;color:#728d98}.batch-open{margin:12px 0;justify-content:center}.advanced-overview{margin:18px 0}.advanced-overview h3,.beam-advanced h3{font-size:12px;font-weight:600;margin:0 0 10px}.advanced-card,.advanced-editor-group{min-width:0;margin:8px 0;padding:10px;border:1px solid #dce8e9;border-radius:6px;background:#fbfdfd}.advanced-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 8px;font-size:11px}.advanced-status{font-size:10px;font-weight:500;padding:2px 5px;border-radius:4px;color:#526e7a;background:#edf2f4}.advanced-status.explicit{color:#146d64;background:#e2f3ee}.advanced-status.mixed{color:#805b1b;background:#fff1d5}.advanced-status.invalid{color:#9e3434;background:#fbe8e8}.advanced-lines{display:block;margin-top:6px;color:#526e7a;font-size:11px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.advanced-lines>span{display:block}.advanced-configurations{font-size:10px;margin-top:8px;max-height:190px;overflow:auto}.advanced-configurations summary{cursor:pointer;color:#246c68}.advanced-configurations>div{border-top:1px solid #e1ebed;padding:8px 0;margin-top:6px}.advanced-ids{display:block;font:10px var(--mono);overflow-wrap:anywhere}.advanced-editor-group>summary{cursor:pointer;padding-left:16px;position:relative;list-style:none}.advanced-editor-group>summary:before{content:"›";position:absolute;left:0;top:0}.advanced-editor-group[open]>summary:before{content:"⌄"}.advanced-editor-group>summary:focus-visible{outline:2px solid #168e87;outline-offset:4px}.advanced-editor-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding-top:8px}.advanced-editor-fields>.editor-field>span,.modal-fields>.editor-field>span{display:block;font-size:11px;color:#526e7a;margin-bottom:7px}.beam-advanced .vector{flex-wrap:wrap}.beam-advanced .vector label{flex-basis:52px}.beam-assignment .modal-fields{display:block}.modal.node-assignment{width:min(880px,calc(100vw - 32px))}.node-assignment .modal-fields{display:flex;flex-direction:column;gap:12px}.node-assignment .modal-fields>*{flex-shrink:0}.node-assignment-feedback{flex-shrink:0;padding:10px 26px;margin:0;border-top:1px solid var(--border);max-height:90px;overflow:auto}.node-support-grid{border:1px solid var(--border);padding:10px;min-width:0}.node-support-component{display:grid;grid-template-columns:90px 1fr 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.node-support-component>div{display:flex;flex-direction:column;gap:6px;min-width:0}.node-presets{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.node-reference{padding:10px;border:1px solid var(--border)}.node-reference select{margin-top:8px}.node-support-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.node-target-summary{font-size:11px;line-height:1.7;overflow-wrap:anywhere}@media(max-width:650px){.node-support-component{grid-template-columns:1fr 1fr;gap:8px}.node-support-component>strong{grid-column:1 / -1}}.batch-targets{font:11px var(--mono);padding:9px;border-radius:5px;background:#edf6f4;color:#35626c;max-height:70px;overflow:auto;overflow-wrap:anywhere}.batch-fields{padding:0;margin:12px 0;border:0;display:flex;flex-direction:column;gap:14px}.batch-property{padding:12px;border:1px solid #dce8e9;border-radius:6px}.batch-enable{display:flex;align-items:center;gap:8px;font-size:12px;color:#355765}.batch-enable input{width:15px;height:15px;margin:0;accent-color:#168e87}.batch-current{margin:5px 0 8px 23px;font-size:10px;color:#728b96}.batch-current strong{font-weight:500;color:#416572}.batch-property select,.batch-property>input{width:100%}.batch-ready{color:#168e87;font-size:12px}tr:focus-visible{outline:2px solid #168e87;outline-offset:-2px}.scene-title,.scene-help,.axis-widget,.legend{z-index:1}.scene canvas{touch-action:none;outline:none}.scene.tool-orbit canvas{cursor:grab}.scene.tool-orbit canvas:active{cursor:grabbing}.scene-title{position:absolute;left:20px;top:18px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;max-width:250px;pointer-events:none;font-size:9px;letter-spacing:1px;color:#6d8694;font-weight:600}.scene-title small{flex-basis:100%;letter-spacing:0;font-size:10px;font-weight:400;color:#9aabb3;margin-left:12px}.scene-help{position:absolute;bottom:12px;left:16px;right:145px;font-size:9px;line-height:1.7;color:#8e9fa9;pointer-events:none}.entity-label,.node-label,.load-label{font:8px var(--mono);color:#6f8998;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.entity-label{background:#f5f9f8bb;border-radius:2px;padding:1px 3px}.load-label{color:#b27940;font-size:9px;background:#fbf5eabb;border-radius:2px;padding:2px}.chosen{font-weight:700;color:#128477}.scene-label-group{pointer-events:none}.scene-label{position:absolute;left:0;top:0;display:block;padding:2px 4px;border-radius:3px;border:1px solid #d8e4e6;background:#fcfefeea;font:10px var(--mono);color:#526f7e;white-space:nowrap;box-sizing:border-box}.scene-label.load-label{color:#965f27;border-color:#e8d9c3;background:#fff9eefa}.scene-label.chosen,.scene-label.contextual{color:#08746f;font-weight:700;background:#edf9f5fa;border-color:#69b4aa}.label-anchor-container{position:absolute;left:0;top:0;overflow:visible}.label-status{display:block;color:#5e7f8b;font-size:9px}.label-controls{margin-top:12px}.label-controls label{display:block;font-size:11px;color:#557280;margin:9px 0}.label-controls select{display:block;width:100%;margin-top:5px}.label-controls small{display:block;font-size:10px;color:#8199a3;line-height:1.5}.axis-widget{position:absolute;right:20px;bottom:16px;width:53px;height:57px;pointer-events:none;font:10px var(--mono)}.axis-widget span{position:absolute}.axis-widget .z{top:0;left:20px;color:#4a7ca5}.axis-widget .x{bottom:6px;right:0;color:#c47564}.axis-widget .y{bottom:6px;left:0;color:#669c76}.selection-box{position:absolute;border:1px solid #1c8d85;background:#1c8d8518;pointer-events:none;z-index:8}.selection-box.crossing{border-style:dashed;border-color:#337fa9;background:#337fa918}.selection-box.remove{border-color:#b2634b;background:#b2634b15}.selection-box span{position:absolute;left:0;bottom:100%;padding:3px 5px;background:#f9fdfdf0;color:#35626c;font-size:10px;white-space:nowrap}.legend{position:absolute;top:18px;right:18px;background:#fffd;border:1px solid #e0e9ec;border-radius:6px;padding:13px;min-width:160px;max-width:215px;pointer-events:none}.legend>span{font-size:8px;letter-spacing:1px;color:#8c9ea9}.legend b{display:block;font:17px var(--mono);color:#42606d;margin:7px 0}.legend small{font-size:9px;color:#8da1ab;line-height:1.6}.legend-line{height:3px;background:linear-gradient(90deg,#bfded6,#19978c);margin:10px 0}.canvas-error{padding:40px;color:#708894}.tool-node,.tool-beam{cursor:crosshair}.node-plane-action{position:absolute;top:14px;right:14px;z-index:2}.data-panel{height:210px;min-height:100px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid #cedce2}.data-divider{height:9px;flex:0 0 9px;cursor:row-resize;touch-action:none;display:grid;place-items:center;background:#f4f8f8}.data-divider span{width:40px;height:3px;border-radius:3px;background:#bacdce}.data-divider:hover,.data-divider:focus-visible{background:#dcefeb;outline:2px solid var(--teal);outline-offset:-2px}.data-tabs{height:36px;flex-shrink:0;display:flex;align-items:stretch;overflow:auto;scrollbar-width:thin;background:#f9fbfc;border-bottom:1px solid var(--border)}.data-tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;color:#879ba6;font-size:10px;white-space:nowrap;padding:0 13px;gap:6px}.data-tabs .active{color:#288277;border-bottom-color:#278d81;background:#fff;font-weight:600}.data-tabs small{font:8px var(--mono);padding:1px 4px;background:#eaf0f2;border-radius:2px}.table-tools{height:43px;flex-shrink:0;display:flex;align-items:center;gap:11px;padding:0 13px;border-bottom:1px solid #e8eef1}.table-title{font-size:11px;font-weight:600;white-space:nowrap}.table-title span{font:9px var(--mono);font-weight:400;color:#9cabb4;margin-left:10px}.table-edit-hint{font-size:10px;color:#526e7a;white-space:nowrap}@media(max-width:1250px){.table-edit-hint{display:none}}.search{margin-left:auto;display:flex;gap:4px;align-items:center;width:135px;color:#98aab5}.search input{background:none;border:0;padding:4px;font-size:10px;box-shadow:none}.table-tools select{font-size:10px;width:190px;padding:5px}.table-tools button,.table-tools .button{font-size:10px;padding:5px 8px}.table-tools .add-row{background:#eff7f4;border-color:#d8e8e2;color:#33857a}.table-scroll{flex:1;min-height:0;overflow:auto}.table-edit-bar{display:flex;align-items:center;flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 12px;background:#fff6df;border-bottom:1px solid #ead6aa;font-size:11px}.table-edit-bar>div{flex:1;min-width:170px}.table-edit-bar small{display:block;font-size:10px;color:#765f38;margin-top:3px}.table-edit-bar button{padding:5px 9px;font-size:11px}td.editable-cell{cursor:text}td.editable-cell:focus{outline:2px solid #168e87;outline-offset:-2px}td.editable-cell.pending{box-shadow:inset 0 -2px #b88828}td.editable-cell.invalid{background:#fff0ef}.cell-controls{display:flex;gap:4px;min-width:80px}.cell-controls>input,.cell-controls>select{font:11px var(--mono);padding:5px;min-width:80px}.cell-controls>label{display:block;min-width:55px}.cell-controls>label>small{display:block;text-align:center;margin-bottom:3px;color:#526e7a}.cell-controls>label>input{min-width:50px;padding:4px;font:11px var(--mono)}.cell-error{display:block;color:#a63838;font-size:10px;white-space:normal;max-width:280px;margin-top:4px}.modal.table-paste{width:min(980px,calc(100vw - 48px))}.table-paste .modal-fields{display:block}.paste-setup{padding:0;margin:0;border:0;min-width:0}.paste-options,.paste-mapping{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0}.paste-options label,.paste-mapping label,.paste-source{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#526e7a}.paste-source textarea{resize:vertical;min-height:85px;font:12px var(--mono);white-space:pre}.paste-header{display:flex;align-items:center;gap:7px;font-size:12px}.paste-header input{width:15px;height:15px}.paste-defaults{padding:12px;background:#f2f8f7;border:1px solid #dce8e9;border-radius:6px}.paste-defaults h3{margin:0;font-size:12px}.paste-preview{overflow:auto;max-height:330px;margin-top:16px;border:1px solid #dce8e9;border-radius:6px}.paste-preview td{min-width:54px;max-width:260px;white-space:nowrap;overflow-wrap:normal}.paste-preview .cell-error{min-width:140px;white-space:normal}.paste-invalid{background:#fff0ef;color:#a63838}.paste-changed{background:#fff6df}.paste-errors{color:#963d38;background:#fff3f0;padding:10px 14px;border-radius:6px;font-size:12px;margin-top:12px}.paste-errors ul{max-height:160px;overflow:auto;padding-left:20px;margin:8px 0 0}.table-paste footer{flex-wrap:wrap}table{border-collapse:separate;border-spacing:0;min-width:100%;text-align:left;font:10px var(--mono);white-space:nowrap}th,td{padding:6px 12px;border-right:1px solid #edf2f4}th{position:sticky;top:0;z-index:1;height:30px;background:#f8fafb;border-bottom:1px solid #dfe8ec;font:9px DM Sans,sans-serif;font-weight:500;color:#7e949f}td{height:29px;border-bottom:1px solid #edf2f4;max-width:300px;overflow:hidden;text-overflow:ellipsis;color:#4e6573}tr:hover td{background:#f0f7f5}tr.selected td{background:#e3f3ec;color:#267d6e}.row-no{width:32px;text-align:center;color:#a1b2ba;font-size:9px;background:#fbfcfd;padding:6px}.row-actions{width:66px;padding:0 5px}.row-actions button{opacity:.35}.row-actions:hover button{opacity:1}.inspector{background:#fcfdfd;border-left:1px solid var(--border);overflow:auto}.inspector-content{padding:18px 17px}.beam-creator fieldset{border:0;padding:0;margin:16px 0;min-width:0;display:grid;gap:12px}.beam-creator label{display:grid;gap:5px;font-size:11px}.beam-property-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.beam-creator .inspector-rule{margin:3px 0}.beam-step{margin:0;padding:10px;background:#e9f5f2;border-radius:5px;color:#17635e;line-height:1.6}.beam-draft-label{white-space:nowrap;color:#17635e;background:#f5fff8ee;border:1px solid #9bc9bf;border-radius:4px;padding:5px 7px;transform:translateY(-20px);font:10px var(--mono)}.eyebrow{display:block;margin-bottom:11px;font-size:8px;font-weight:600;letter-spacing:1px;color:#8c9fa9}.inspector select{font-size:11px;padding:9px;border-color:#dce6ea}.case-note{font-size:9px;color:#95a7b0;line-height:1.7;margin-top:9px}.inspector-rule{height:1px;background:var(--border);margin:21px 0}.selection-heading{display:flex;align-items:center;justify-content:space-between}.selection-heading .eyebrow{margin:0}.selection-heading>span:last-child{font-size:9px;color:#a4b2b9}.entity-title{font-size:19px;font-weight:500;letter-spacing:-.5px;margin:13px 0;color:#365765}.selection-empty{display:flex;flex-direction:column;align-items:center;padding:27px 12px 14px;color:#a4b6bf}.selection-empty p{font-size:11px;line-height:1.8;text-align:center;color:#8da1ac}.inspector dl{margin:15px 0}.inspector dl>div{display:flex;justify-content:space-between;gap:8px;padding:7px 0}.inspector dt{font-size:10px;color:#829aa7}.inspector dd{font:10px var(--mono);margin:0;max-width:145px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#526c7a}.full{width:100%;font-size:10px;padding:8px}.text-button{border:0;background:none;color:#388b7e;font-size:10px;padding:5px 0}.text-button:hover{background:none;border:0;text-decoration:underline}.danger{color:#b97769!important}.inspector .danger{margin-top:7px}.toggle-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#758e9a;padding:9px 0}.toggle-row input{width:25px;height:13px;appearance:none;background:#dce7ea;border-radius:12px;position:relative;border:0;padding:0;box-shadow:none}.toggle-row input:after{content:"";position:absolute;left:2px;top:2px;background:#fff;width:9px;height:9px;border-radius:50%}.toggle-row input:checked{background:#3b9d8d}.toggle-row input:checked:after{left:14px}.inspector-tip{display:flex;gap:9px;align-items:flex-start;margin-top:24px;padding:13px 11px;border:1px solid #e3edef;background:#f1f6f7;border-radius:5px;color:#829aa7}.inspector-tip svg{flex-shrink:0;margin-top:2px}.inspector-tip p{font-size:9px;line-height:1.8;margin:0}.control-label{display:block;font-size:10px;color:#839ba7;margin-top:16px}.control-label select,.control-label input{margin-top:7px}.control-label input{font:12px var(--mono)}.field-note{font-size:10px;line-height:1.8;color:#8fa3ad}.export-result{width:100%;margin-top:8px;font-size:10px}.plot{margin-top:18px;padding:12px 8px 0;background:#f7f9fa;border:1px solid #e7edef;border-radius:5px}.plot-heading{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#8a9da6}.plot-position{display:block;font-size:10px;color:#557280}.plot-position input{display:block;width:100%;margin:5px 0 7px;accent-color:#168e87}.plot-reading{display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap;font:11px var(--mono);color:#35626c}.plot-reading output:last-child{font-weight:700;color:#9a612b}.plot-note{font-size:9px;line-height:1.5;color:#7c929d}.beam-result-plot svg{touch-action:none;cursor:crosshair}.plot b{font:12px var(--mono);color:#b67f42}.plot svg{width:100%;height:auto}.plot text{fill:#a1b1b8;font:9px var(--mono)}.checks{padding:18px;overflow:auto;font-size:10px;line-height:1.9}.check-heading{display:flex;align-items:center;gap:10px;font-size:12px}.check-heading button{margin-left:auto;font-size:10px}.error{color:#b06455}.warning{color:#aa7f3d;font-size:10px;line-height:1.7}.success{color:#318d78}.jobs{overflow:auto;flex:1;min-height:0}.job{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid #e9eff2}.job-dot{width:6px;height:6px;border-radius:50%;background:#a6b6bf;flex-shrink:0}.job-dot.completed{background:#489f86}.job-dot.failed{background:#c97461}.job-dot.running,.job-dot.queued{background:#c9a15b;animation:pulse 1.5s infinite}.job>div{flex:1;min-width:0}.job b{display:block;font-size:11px;font-weight:500}.job b small{font:9px var(--mono);color:#9aadb7;margin-left:10px}.job>div>span{display:block;font-size:10px;color:#90a3ac;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.job time{font:9px var(--mono);color:#91a7b1}.job button{font-size:10px;white-space:nowrap;padding:5px 9px}.statusbar{height:29px;flex-shrink:0;display:flex;align-items:center;gap:30px;padding:0 16px;background:#f8fafb;border-top:1px solid #d4e1e6;font-size:9px;color:#839ba8}.statusbar>span{display:flex;align-items:center;gap:8px}.statusbar i{height:10px;width:1px;background:#d9e4e8;margin:0 7px}.status-right{margin-left:auto}.modal-dialog::backdrop{background:#17344560;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-dialog{padding:0;border:0;border-radius:10px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);overflow:hidden;color:inherit;background:#fbfdfd;box-shadow:0 20px 80px #12304433}.modal{display:flex;flex-direction:column;width:540px;max-width:100%;max-height:calc(100dvh - 48px);overflow:hidden;border:1px solid #ffffff88;border-radius:10px;background:#fbfdfd;box-shadow:0 20px 80px #12304433}.modal.small{width:440px}.modal.surface-preparation{width:840px}.surface-preparation-body{padding:8px 26px 20px;overflow:auto;min-height:0}.surface-assignment>p{padding:0 26px;flex-shrink:0}.surface-assignment fieldset{min-width:0;border:1px solid var(--border);border-radius:6px;padding:12px}.surface-assignment fieldset label{display:block;margin:8px 0}.modal header{position:relative;z-index:1;flex-shrink:0;background:#fff;display:flex;align-items:flex-start;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid var(--border)}.modal header .eyebrow{margin-bottom:6px}.modal h2{font-size:19px;font-weight:500;letter-spacing:-.5px;margin:0}.modal-fields{min-height:0;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;padding:23px 26px}.modal-fields>label>span{display:block;font-size:11px;color:#758e9b;margin-bottom:7px}.wide{grid-column:1/-1}.modal-fields>.wide>input,.modal-fields>.wide>select{margin-top:6px}.modal footer{position:relative;z-index:1;flex-shrink:0;background:#fff;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;padding:17px 26px;border-top:1px solid var(--border)}.primary{background:#1d8e82!important;border-color:#1d8e82!important;color:#fff!important}.vector{display:flex;gap:6px}.vector label{display:flex;flex-direction:column;flex:1;min-width:0;gap:6px;background:#f0f6f7;border-radius:5px;padding:8px 6px}.vector small{font:9px var(--mono);text-align:center;color:#8aa0aa}.vector input[type=number]{padding:7px 4px;text-align:center;font:10px var(--mono)}.vector input[type=checkbox]{margin:4px auto}.terms>span{font-size:11px;color:#79909e}.terms>div{display:flex;gap:7px;margin:8px 0}.terms input{width:90px}.subtle{font-size:10px;padding:6px 8px}.toast{position:fixed;bottom:45px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;background:#254d53;color:#e0f4ee;border:1px solid #ffffff33;box-shadow:0 6px 20px #14374622;border-radius:7px;z-index:30;font-size:11px}.error-banner,.stale-banner{display:flex;align-items:center;gap:9px;padding:9px 18px;background:#fdf1ec;color:#ab6655;border-bottom:1px solid #f1dacf;flex-shrink:0;font-size:11px}.error-banner>span{flex:1}.error-banner button{font-size:10px;padding:4px 7px}.stale-banner{background:#fff8e9;color:#a48440;padding:7px 14px;font-size:10px}.empty{height:100%;min-height:90px;display:flex;align-items:center;justify-content:center;gap:12px;color:#a0b0b8;font-size:11px}.boot{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f2f6f6}.boot h1{font-size:22px;letter-spacing:2px;color:#335462}.boot p{font-size:12px;color:#869da7;max-width:500px;text-align:center;line-height:1.8}.boot .brand-mark{width:55px;height:55px}@keyframes pulse{50%{opacity:.35}}::-webkit-scrollbar{height:5px;width:6px}::-webkit-scrollbar-thumb{background:#cbd9df;border-radius:5px}::-webkit-scrollbar-track{background:transparent}@media(min-width:1700px){.ribbon{gap:21px}.ribbon-group{gap:9px}}@media(max-width:1200px){.workspace{grid-template-columns:195px minmax(350px,1fr) 225px!important}.ribbon{gap:5px;padding:9px}.ribbon-group{padding-right:6px}.ribbon .tool{min-width:42px;padding:6px}.solve-button kbd{display:none}.inspector-content{padding:15px 12px}.brand{font-size:13px}.topbar{gap:12px;padding:0 15px}.top-right{gap:12px}}@media(max-width:960px){.workspace{grid-template-columns:165px minmax(320px,1fr)!important}.inspector{display:none}.ribbon-group:nth-of-type(4){display:none}.saved,.top-divider{display:none}.statusbar{gap:12px}}@media(max-width:650px){.app{min-width:600px}.workspace{grid-template-columns:130px minmax(350px,1fr)!important}.brand small,.edition,.avatar{display:none}.project-switch{max-width:230px}.tree-items{padding-left:2px}.tree-items small{display:none}.ribbon .tool{min-width:35px}.ribbon .tool span{font-size:8px}.ribbon-group{gap:0}.ribbon{gap:4px}.statusbar>span:nth-child(2){display:none}}.inspect-toggle{display:none!important}@media(max-width:960px){.inspect-toggle{display:inline-flex!important}.inspector.show{display:block;position:absolute;right:0;top:0;bottom:0;width:264px;z-index:10;box-shadow:-8px 0 25px #193b4b20;background:#fcfdfd}}@media(max-width:650px){.app{min-width:0}.workspace{grid-template-columns:minmax(0,1fr)!important}.sidebar{display:none}.topbar{height:58px;padding:0 12px;gap:10px}.brand{font-size:11px;letter-spacing:1px}.brand-mark{width:29px;height:29px}.project-switch{max-width:170px}.project-switch select{font-size:11px}.top-right,.revision{display:none}.ribbon{overflow:auto;padding:8px;gap:6px}.ribbon-group{flex-shrink:0;padding-right:7px}.ribbon-group:nth-of-type(4){display:flex}.solve-button{order:-1;flex-shrink:0;height:39px;font-size:10px;padding:0 9px}.ribbon .tool{font-size:9px;min-width:40px}.ribbon .tool span{font-size:9px}.ribbon-spacer{display:none}.viewbar{padding:0 10px}.mode-switch{gap:15px}.scene-title{top:13px;left:13px;font-size:8px}.scene-help{font-size:8px}.table-tools{padding:0 9px;gap:6px}.table-title span{display:none}.table-tools .search{width:75px}.table-tools select{width:145px;font-size:9px}.data-tabs button{padding:0 10px}.statusbar{gap:4px;padding:0 8px;font-size:8px}.status-right i{margin:0 2px}.inspector.show{width:255px}.legend{top:12px;right:12px;min-width:125px;max-width:150px;padding:9px}.legend b{font-size:13px}.legend small{font-size:8px}.modal-dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.modal{max-height:calc(100dvh - 24px)}.modal-fields{padding:20px;gap:15px 12px}.modal header{padding:20px}.modal footer{padding:15px 20px}.vector{gap:3px}.vector label{padding:7px 3px}.vector input[type=number]{padding:6px 2px;font-size:9px}.toast{width:max-content;max-width:90vw;font-size:10px}.error-banner{font-size:10px;padding:8px}.job{padding:10px}.job time{display:none}.scene{min-height:170px}.scene .scene-title small{font-size:9px}}@media(max-height:700px){.app{min-height:480px}.scene{min-height:80px}.scene-help{display:none}}.modal.section-editor{width:910px}.modal.node-editor{width:730px}.editor-group,.section-inputs,.springs-editor{border:0;padding:0;margin:0;min-width:0}.editor-group legend,.dof-matrix legend{font-size:12px;font-weight:600;padding:0 0 10px}.node-editor label,.section-editor label{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:0}.node-editor label+label{margin-top:12px}.node-editor .vector label+label{margin-top:0}.node-editor .editor-group>.vector{margin-top:12px}.node-editor details,.section-editor details{font-size:12px}.node-editor summary,.section-editor summary{cursor:pointer;padding:9px 0;font-weight:600}.dof-matrix{margin:18px 0 0;padding:0;border:0;display:grid;grid-template-columns:45px 1fr 1fr;gap:9px;align-items:center;font-size:11px}.dof-row{display:contents}.dof-matrix .dof-row label{flex-direction:row;align-items:center;margin:0;padding:9px 0}.support-preview{display:block;width:100%;max-height:240px;background:#f0f5f6;border-radius:6px}.support-preview text{font:11px var(--mono);fill:#324e5e}.support-key{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;padding:10px 0}.support-key>span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px}.support-key .u:before{background:#d63246}.support-key .r:before{background:#296ad2}.support-key .both:before{background:#b52b99}.scene-support-key{position:absolute;bottom:39px;left:18px;pointer-events:none;color:#536c79;background:#f1f5f5cc;padding:5px 7px;border-radius:4px}.scene-support-key small{font-size:10px}.springs-editor{display:grid;grid-template-columns:repeat(3,1fr)}.section-editor-body{overflow:auto;min-height:0;padding:22px 26px;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr);gap:20px 26px}.section-inputs{display:flex;flex-direction:column;gap:14px}.section-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.section-pair input{min-width:0}.section-editor textarea{resize:vertical;min-height:110px;font:12px/1.6 var(--mono);width:100%}.section-visual{min-width:0}.section-drawing{display:block;width:100%;min-height:200px;background:#f0f5f6;border:1px solid #d9e5e8;border-radius:7px}.section-drawing text{fill:#526b78;font:10px var(--mono)}.section-outline{fill:#dfbf84;stroke:#947342;stroke-width:1.2}.section-axis{stroke:#235b68;stroke-width:1.4}.section-reference{stroke:#91a7b1;stroke-width:1}.section-axis text{fill:#235b68;stroke:none;font-weight:600}.section-reference text{stroke:none;fill:#91a7b1}.section-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;margin:12px 0}.section-dimensions .check-line{grid-column:1/-1}.section-editor .check-line{flex-direction:row;align-items:flex-start;gap:7px;font-size:11px;margin-top:10px}.section-editor .check-line input{width:auto;margin:1px 0 0}.section-property{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:11px;border-bottom:1px solid #e5edf0}.section-property span{color:#718894}.section-property strong{font:11px var(--mono);text-align:right;overflow-wrap:anywhere}.section-properties{margin:10px 0}.section-property-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;grid-column:1/-1}.section-feedback{grid-column:1/-1}.preview-placeholder{display:grid;place-items:center;min-height:290px;background:#f0f5f6;border-radius:7px;font-size:12px;color:#738b97}.section-editor .field-note,.node-editor .field-note{line-height:1.6}.section-editor input[type=range]{padding:0}@media(max-width:650px){.section-editor-body{grid-template-columns:1fr;padding:18px}.section-property-groups{grid-template-columns:1fr;gap:8px}.scene-support-key small{display:none}.springs-editor{grid-template-columns:repeat(2,1fr)}}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:32px 16px;background:#eaf0f2}.auth-card{width:min(100%,420px);padding:32px;background:#fff;border:1px solid #d5e0e4;border-radius:12px;box-shadow:0 16px 48px #19364212}.auth-brand{font-weight:800;letter-spacing:.16em;color:#24796f}.auth-card h1{margin:12px 0;font-size:26px}.auth-card p{line-height:1.5}.auth-card form{display:grid;gap:16px;margin-top:24px}.auth-card label{display:grid;gap:7px;font-weight:600}.auth-card input{width:100%;min-height:42px;padding:10px;border:1px solid #aebfc6;border-radius:6px}.auth-card small{font-size:12px}.auth-submit{padding:12px;background:#24796f;color:#fff;border:0;border-radius:6px}.auth-card nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.auth-card nav button{border:0;background:transparent;padding:0;color:#24796f}.auth-error{color:#9e2b2b}.authenticated-layout{height:100dvh;min-height:0;display:flex;flex-direction:column}.account-bar{min-height:36px;padding:5px 22px;display:flex;justify-content:flex-end;align-items:center;gap:18px;background:#122a34;color:#fff;font-size:12px}.account-bar button{background:transparent;color:#fff;border:1px solid #a8bbc1;border-radius:4px;padding:3px 12px}.authenticated-workspace{flex:1;min-height:0}.authenticated-workspace .app{height:100%;min-height:0}.google-login{display:block;text-align:center;margin-top:24px;padding:12px;border:1px solid #aebfc6;border-radius:6px;font-weight:600}.google-login:hover{background:#f0f5f6}.table-case-context,.editor-case-context{padding:8px 14px;margin:0;background:#edf5f5;font-size:12px;flex-shrink:0}.modal.load-editor{width:min(1080px,calc(100vw - 48px))}.load-editor-body{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:20px;padding:20px 26px;overflow:auto;min-height:0}.load-inputs{display:flex;flex-direction:column;gap:14px;border:0;padding:0;min-width:0}.load-inputs fieldset{min-width:0;border:1px solid #d9e5e9;padding:10px}.load-inputs label{display:block;font-size:12px}.load-inputs legend{font-size:12px}.load-preview{align-self:start;background:#f4f8f8;padding:12px;border:1px solid #d9e5e9;border-radius:6px;min-width:0}.load-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.load-preview-heading select{width:70px}.load-preview svg{width:100%;height:auto;background:#fff;margin:8px 0}.load-preview text{font-size:11px;fill:#354f62}.load-preview p{font-size:11px;color:#506b7a;line-height:1.5}.load-preview output{display:flex;flex-direction:column;gap:8px;font-size:12px;overflow-wrap:anywhere}.load-preview output small{color:#506b7a}.load-feedback{padding:8px 26px;margin:0;border-top:1px solid #d9e5e9;flex-shrink:0}@media(max-width:900px){.load-editor-body{grid-template-columns:1fr}}.scene-load-key{position:absolute;right:12px;top:10px;max-width:60%;font-size:10px;color:#506b7a;z-index:1;pointer-events:none;text-align:right;background:#f1f5f5d9}.modal.table-load-modal{width:min(650px,calc(100vw - 48px))}.table-load-modal-body{padding:14px;overflow:auto;min-height:0}.diagnostic-list{display:flex;flex-direction:column;gap:10px;width:100%}.diagnostic-card{border:1px solid #d9e5e9;border-left:4px solid #be8746;border-radius:5px;padding:10px 12px;background:#fff;font-size:12px;color:#354f62}.diagnostic-card.error{border-left-color:#c04d3d}.diagnostic-card small{display:block;color:#698393;margin-top:4px}.diagnostic-card p{margin:6px 0;overflow-wrap:anywhere}.diagnostic-card details{color:#698393}.diagnostic-entities,.diagnostic-actions{display:flex;flex-wrap:wrap;gap:6px}.diagnostic-entities span{padding:3px 6px;background:#edf5f5;border-radius:3px}.diagnostic-actions button{font-size:11px;padding:5px 8px}.job:has(.diagnostic-list){flex-wrap:wrap}.modal.analysis-review{width:min(760px,calc(100vw - 48px))}.analysis-review-body{padding:18px 24px;overflow:auto;min-height:0;font-size:12px}.analysis-review-body p{line-height:1.5}.analysis-scope{display:grid;gap:7px;padding:12px;background:#edf5f5;border-radius:5px}.job-snapshot{width:100%;color:#698393;font-size:11px}.plot-context,.plot-source{font-size:10px;line-height:1.5;color:#416572;overflow-wrap:anywhere}.plot-extrema{display:grid;gap:5px;margin:10px 0}.plot-extrema small{font-size:10px;color:#52707c}.plot-extrema button{font:10px var(--mono);text-align:left;white-space:normal;padding:7px}.plot-axes{font:10px var(--mono);margin-top:10px;overflow-wrap:anywhere}.plot-axes p{margin:7px 0}.result-table-context{padding:5px 12px;font-size:10px;color:#416572;background:#edf5f6;line-height:1.5}.result-selection-filter{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px}tr.station-current{outline:2px solid #168e87;outline-offset:-2px}.result-active-column{color:#0f7b75;background:#e5f4f1}.reactions-panel{margin:14px 0;padding:10px;background:#f4faf8;border:1px solid #d4e9e2;border-radius:5px}.reaction-toggles{display:grid;gap:6px;margin:10px 0;font-size:10px}.reaction-toggles label{display:flex;gap:5px;align-items:center}.reaction-reading{font-size:11px;margin-top:10px;overflow-wrap:anywhere}.reaction-reading small{display:block;margin-top:5px}.reaction-reading dl{margin:8px 0}.reaction-balance{font-size:10px;line-height:1.6;margin:10px 0}.scene-reaction-key{position:absolute;top:28px;left:14px;right:12px;z-index:2;color:#217365;font-size:10px;pointer-events:none}.reaction-label{color:#116859;border-color:#9acbbc;background:#f1fcf7}.reaction-label[role=button]:focus-visible{outline:2px solid #168e87}.app{position:relative}.topbar{height:48px;gap:12px;padding:0 14px}.topbar .brand-mark{width:28px;height:28px;border-radius:6px}.brand{font-size:13px;gap:8px;letter-spacing:1.5px}.brand small{margin-top:2px;font-size:6px}.project-switch{min-width:0;max-width:300px}.project-switch select{max-width:100%;text-overflow:ellipsis}.project-switch>svg{flex-shrink:0}.top-right{gap:12px;flex-shrink:0}.analysis-kind{font:9px var(--mono);color:#b2c9d1}.account-bar{min-height:26px;padding:3px 14px;font-size:11px;gap:10px}.account-bar button{padding:1px 8px}.file-controls{position:relative;flex-shrink:0}.file-menu-toggle{height:28px;padding:3px 8px;color:#eef6f8;background:transparent;border-color:#ffffff35;font-size:11px}.file-menu-toggle:hover{background:#ffffff15;color:#fff}.file-menu{position:absolute;top:calc(100% + 5px);left:0;z-index:60;display:grid;gap:3px;min-width:205px;padding:6px;border:1px solid #cbdadd;border-radius:6px;background:#fff;box-shadow:0 6px 20px #17384430;color:#304c5c}.file-menu button,.file-menu a{display:flex;justify-content:flex-start;gap:8px;border:0;background:transparent;font-size:11px;padding:9px;color:#365662;white-space:nowrap;text-decoration:none}.file-menu button:hover,.file-menu a:hover{background:#edf5f4}.workspace-notices{position:absolute;right:14px;bottom:34px;z-index:35;width:min(620px,calc(100% - 28px));display:grid;gap:6px;pointer-events:none}.workspace-notices>*{pointer-events:auto;border:1px solid #ded3b8;border-radius:6px;box-shadow:0 4px 14px #19364220}.workspace-notices .connection-wait{background:#eef5f5;color:#436874;border-color:#c8dcdb}.workspace-notices .compute-banner{font-size:11px;line-height:1.5}.viewbar{height:40px;min-height:40px;flex-basis:40px;flex-wrap:nowrap;gap:6px;padding:0 10px}.mode-switch{gap:10px;flex-shrink:0}.mode-switch button{font-weight:600}.representation-switch{margin:0;flex-shrink:0}.representation-switch button{position:relative;min-width:70px}.representation-switch button[data-warning=true]:after{content:"!";position:absolute;right:3px;top:1px;color:#aa651b;font-weight:700}.view-context{flex:1;min-width:0;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#52707c}.view-context.is-stale{color:#95601b}.view-actions{margin-left:auto;flex-shrink:0;gap:2px}.view-actions button{padding:5px}.visible-load-context{font-size:10px;line-height:1.5;margin:10px 0;color:#587581}.visible-load-context small{display:block}.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}@media(max-width:1100px){.analysis-kind{display:none}}@media(max-width:650px){.topbar{gap:8px;padding:0 10px}.brand{font-size:11px}.view-context{max-width:100px}.file-menu{left:auto;right:0}}.job{flex-wrap:wrap}.job>div{flex:1 1 150px}.job time,.job button{flex-shrink:0}.job-snapshot{order:5;flex:1 0 100%;width:auto}.job>.diagnostic-list{order:6;flex:1 0 100%}.surface-tools{display:flex;align-items:center;flex-wrap:nowrap;overflow-x:auto;flex:0 0 auto;gap:8px;padding:6px 12px;border-bottom:1px solid #dce5e8;font-size:12px}.surface-tools>*{flex-shrink:0;white-space:nowrap}.surface-tools>span{margin-right:auto;color:#617980}.surface-creator textarea{width:100%;resize:vertical;min-height:68px;padding:8px;border:1px solid var(--border);border-radius:5px;font:inherit}.surface-node-actions,.surface-create-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.surface-node-actions button,.surface-create-actions button{flex:1;min-width:96px}.surface-preview-summary{margin:12px 0;font-size:11px;line-height:1.65}.surface-preview-summary p{overflow-wrap:anywhere}.scene.tool-surface canvas{cursor:crosshair}.surface-creator fieldset{gap:9px;margin:12px 0}.surface-creator details summary{cursor:pointer;color:#1d736e}.surface-node-actions button{font-size:11px;padding:8px 6px}.surface-ring-tabs{display:flex;flex-wrap:wrap;gap:5px}.surface-ring-tabs button{padding:6px 8px;font-size:11px}.surface-ring-tabs button[aria-pressed=true]{background:#dcefea;color:#176c65;border-color:#73b4a8}.surface-label{color:#326975;background:#f4fafb;border:1px solid #aac9d0;border-radius:3px;padding:3px 5px;font:10px var(--font-mono,monospace)}.surface-mesh .modal-fields{border:0;margin:0;padding:16px 0}.surface-results-panel{border-top:1px solid var(--border,#dce3e8);margin-top:12px;padding-top:8px}.surface-field-legend{display:flex;align-items:center;gap:7px;font-size:11px;margin:8px 0}.surface-field-legend i{height:10px;flex:1;min-width:25px;background:linear-gradient(90deg,#2b77eb,#eaf2f5,#f54232);border-radius:3px}.surface-cell-reading{margin-top:10px;padding:8px;background:#f0f5f7;border-radius:5px;font-size:11px;overflow-wrap:anywhere}.surface-cell-reading p{margin:5px 0}.surface-cell-reading dl{margin:8px 0}.surface-cell-reading dl>div{display:flex;justify-content:space-between;gap:8px}.surface-cell-reading dd{margin:0;font-variant-numeric:tabular-nums}.surface-results-panel .full{width:100%;margin:6px 0}.surface-cut-dialog{width:min(1050px,94vw)}.surface-cut-body{overflow:auto;max-height:70vh;padding:18px 24px}.surface-cut-body fieldset{border:1px solid #d8e2e8;border-radius:5px;margin:10px 0;padding:10px}.cut-parents{display:flex;gap:12px;flex-wrap:wrap;max-height:110px;overflow:auto}.cut-parents label{display:flex;align-items:center;gap:5px}.cut-point{display:flex;gap:12px;align-items:center;margin:7px 0}.cut-point label{flex:1;min-width:0;display:flex;gap:5px;align-items:center}.cut-point input{width:100%;min-width:0}.cut-results svg{width:100%;max-height:190px;background:#f3f7f8;margin:10px 0}.cut-results svg text{font-size:12px;fill:#35515c}.cut-table{max-height:210px;overflow:auto}.cut-table th,.cut-table td{padding:6px 10px;white-space:nowrap;font-size:11px}.surface-cut-dialog footer{display:flex;gap:10px;justify-content:flex-end}.surface-color-strip{height:5px;background:linear-gradient(90deg,#2b78eb,#ebf2f5,#f54233);margin:7px 0}.legend>span{display:block;margin-top:6px}.legend>b{white-space:normal}.surface-field-legend.is-unsigned i,.surface-color-strip.is-unsigned{background:linear-gradient(90deg,#ebf2f5,#f54233)}.surface-field-legend.is-empty i,.surface-color-strip.is-empty{background:#949fa6}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px}.project-controls{display:flex;align-items:center;gap:12px;min-width:0}.topbar .project-switch{min-width:0;max-width:230px;flex:0 1 auto}.topbar .top-right{display:flex;justify-self:end;min-width:0;gap:12px;margin-left:0}.workspace-brand{text-align:center;white-space:nowrap;font-weight:700;font-size:14px}.workspace-brand span{font-size:11px;font-weight:400;color:#b9cdd4}.account-menu{position:relative;min-width:0;font-size:11px}.account-menu summary{cursor:pointer;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-actions{position:absolute;right:0;top:calc(100% + 12px);z-index:70;display:grid;gap:10px;padding:12px;background:#fff;color:#304c5c;border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 20px #17384430}@media(max-width:1100px){.topbar .saved{display:none}.workspace-brand{font-size:13px}}@media(max-width:650px){.topbar{gap:8px}.project-controls{gap:6px}.workspace-brand{font-size:11px}.workspace-brand span{display:block;font-size:9px}.topbar .project-switch{max-width:130px}.account-menu summary{max-width:65px}.topbar .project-switch>svg:last-child{display:none}}.plane-level{display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}.plane-level select{width:112px;padding:4px;font-size:10px}@media(max-width:800px){.plane-level select{width:88px}.viewbar .view-context{max-width:85px}}.load-menu{position:relative}.load-menu .tool>span{display:flex;align-items:center;gap:3px}.surface-role-dialog{width:min(600px,calc(100vw - 24px))}.surface-role-dialog .modal-fields p{line-height:1.6}.load-menu .file-menu{min-width:210px}.load-menu .file-menu button{width:100%}.load-menu .file-menu hr{width:100%;border:0;border-top:1px solid #d5e1e5;margin:4px 0}.spatial-preview{border:1px solid #cedddb;background:#f7fafb;border-radius:7px;padding:12px;margin:12px 0}.spatial-preview svg{display:block;width:100%;height:260px;font:11px var(--mono)}.spatial-preview .load-preview-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.spatial-preview .load-preview-heading label{display:flex;align-items:center;gap:6px}.spatial-preview select{width:auto;min-width:65px}.spatial-preview small{color:#69818d}.coaction-editor{width:min(980px,calc(100vw - 40px))}.coaction-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px;align-items:start}.coaction-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start}.coaction-inputs .editor-field{min-width:0}.coaction-diagram .spatial-preview{margin-top:0}.diaphragm-editor{width:min(800px,calc(100vw - 40px))}.diaphragm-editor>fieldset{border:0;margin:0}.diaphragm-editor>p,.diaphragm-editor>.spatial-preview,.diaphragm-editor>div[role=status]{margin-left:26px;margin-right:26px}@media(max-width:720px){.coaction-workspace{grid-template-columns:minmax(0,1fr)}.coaction-editor{width:calc(100vw - 24px)}.spatial-preview svg{height:230px}}.surface-load-editor{width:min(980px,calc(100vw - 40px))}.surface-load-body,.diaphragm-body{overflow:auto;min-height:0;padding:16px 26px}.surface-load-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px;align-items:start}.surface-load-body .modal-fields,.diaphragm-body>.modal-fields{border:0;padding:0;margin:12px 0;overflow:visible}.surface-load-body .spatial-preview{margin-top:10px}.diaphragm-body .modal-fields .modal-fields{padding:12px 0;overflow:visible}@media(max-width:720px){.surface-load-workspace{grid-template-columns:minmax(0,1fr)}}.diaphragm-parents{border:1px solid #d5e2e0;border-radius:5px;padding:10px;max-height:150px;overflow:auto}.diaphragm-parents label{display:flex;gap:8px;align-items:center;margin:6px 0}.diaphragm-parents input{width:auto}.surface-springs-dialog{width:min(1050px,94vw)}.surface-springs-dialog>.modal-fields{overflow:auto;min-height:0}.surface-springs-dialog fieldset{border:0;padding:0;min-width:0}.surface-springs-dialog .spring-assignment-row{border-top:1px solid var(--border,#d8e1e6);padding:10px 0}.surface-springs-dialog .spring-assignment-row>label{display:block;margin:7px 0}
