@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17253a;--muted:#738198;--line:#e5eaf0;--paper:#f5f7fa;--white:#fff;--blue:#2463eb;--blue2:#eaf0ff;--gold:#bb7811;--green:#138765;--shadow:0 7px 30px #17253a0b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);padding:0 max(calc((100vw - 1450px)/2),32px);display:flex;align-items:center;justify-content:space-between}.brand{color:var(--ink);text-decoration:none;font:800 15px Manrope;letter-spacing:.09em;display:flex;align-items:center;gap:11px}.brand-light{font-weight:500;color:#8290a3}.brand small{display:block;font:500 9px 'DM Mono';color:#9aa6b6;letter-spacing:.16em;margin-top:3px}.brand-mark{width:33px;height:33px;border-radius:9px;background:#172d50;color:#fff;display:grid;place-items:center;font:800 17px Manrope}.top-meta{display:flex;align-items:center;gap:10px;color:#7b8799;font:10px 'DM Mono';letter-spacing:.05em}.workspace-switcher{display:flex;align-items:center;gap:4px;padding:4px;background:#f1f4f7;border-radius:8px}.workspace-tab{padding:9px 13px;border-radius:6px;color:#758197;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap}.workspace-tab:hover{color:#21334d}.workspace-tab.active{color:#08734e;background:#e3f5ec;box-shadow:0 1px 3px #173d2e15}.status-dot{width:7px;height:7px;border-radius:50%;background:#dfa33e}.sep{height:13px;width:1px;background:var(--line);margin:0 7px}.button{border:1px solid #dce3eb;border-radius:7px;background:white;color:#31415a;padding:10px 15px;font-size:12px;font-weight:700;transition:.18s}.button:hover,.small-btn:hover{border-color:#8ea9ed;color:var(--blue)}.button.primary{background:#245fe2;border-color:#245fe2;color:white;box-shadow:0 5px 14px #245fe228}.button.primary:hover{background:#174bc5}.button.primary span{font-size:16px;margin-left:10px}.button.ghost{background:#fff}.main,main{max-width:1450px;margin:auto;padding:0 32px}.hero{padding:38px 0 28px;display:flex;justify-content:space-between;align-items:end}.eyebrow{color:#8795a9;font:500 10px 'DM Mono';letter-spacing:.15em}.eyebrow i{color:#c79a4e;font-style:normal;padding:0 4px}.hero h1{font:700 32px Manrope;letter-spacing:-.045em;margin:9px 0 7px}.hero h1 em{color:#2a64df;font-style:normal}.hero p{margin:0;color:#7a8799;font-size:13px;max-width:650px}.hero-actions{display:flex;gap:8px}.workspace{display:grid;grid-template-columns:345px minmax(0,1fr);gap:16px;align-items:stretch}.sidebar,.stage,.result-card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.sidebar{overflow:hidden}.side-tabs{height:51px;display:flex;border-bottom:1px solid var(--line);padding:0 18px;gap:22px}.side-tab{border:0;background:none;color:#8995a5;font-size:12px;font-weight:700;position:relative}.side-tab.active{color:#1d2d45}.side-tab.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:0;background:#2862e3}.pane{display:none;padding:18px}.pane.active{display:block}.section-head{font:600 9px 'DM Mono';letter-spacing:.13em;color:#7d899c;display:flex;align-items:center;justify-content:space-between;margin:1px 0 15px}.tiny-pill{background:#f1f4f8;color:#8995a5;padding:4px 7px;border-radius:4px;font:9px 'DM Mono'}.tiny-pill.gold{background:#fff5e4;color:#a8731c}.control-group{border:1px solid #ebeff4;background:#fbfcfd;padding:12px;border-radius:7px;margin-bottom:15px}.control-group>label,.stack-label{font-size:11px;color:#47566d;font-weight:700;display:block;margin-bottom:9px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.field-grid label,.stack-label{display:flex;flex-direction:column;gap:5px;color:#617087;font-size:10px;font-weight:600}.field-grid small{display:inline;color:#9ba5b3;font-size:9px;font-weight:400;margin-left:auto;margin-top:-15px}.field-grid input,.stack-label select,.field-grid select,.load-row input,.load-row select{width:100%;height:32px;border:1px solid #e3e8ef;background:#fff;border-radius:5px;padding:0 8px;color:#25344b;font-size:11px;outline:none}.field-grid input:focus,.load-row input:focus,.stack-label select:focus{border-color:#7ea1f2;box-shadow:0 0 0 2px #eaf0ff}.hint{font-size:10px;line-height:1.5;color:#929eae;margin:9px 0 0}.subhead{border-top:1px solid #edf0f4;padding-top:16px;margin-top:17px}.text-btn{border:0;background:none;color:#3467d5;font:600 10px 'DM Sans'}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.tool{height:52px;background:#fff;border:1px solid #e4e9ef;border-radius:6px;color:#66748a;font-size:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.tool b{font-size:16px;font-weight:500}.tool.active{background:#eff4ff;border-color:#bad0ff;color:#255edc}.compact{padding:10px;margin-bottom:8px}.compact>label{margin-bottom:8px}.load-row{display:flex;gap:5px;align-items:center;margin:5px 0}.load-row select{width:85px}.load-row input{min-width:0;flex:1}.load-row select:first-child{flex:1}.load-row .icon-btn{width:30px;height:30px;border:1px solid #cddafa;background:#eff4ff;color:#2861db;border-radius:5px;font-size:18px}.unitline{font:9px 'DM Mono';color:#9ba6b4;margin-top:4px}.point-only{display:none}.model-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.summary-tile{padding:8px;background:#f6f8fb;border-radius:5px;text-align:center;color:#8390a3;font-size:9px}.summary-tile b{display:block;color:#34435b;font:600 14px Manrope;margin-bottom:3px}.stage{overflow:hidden;display:flex;flex-direction:column;min-height:610px}.stage-toolbar{height:53px;padding:0 16px;border-bottom:1px solid #e9edf2;display:flex;align-items:center;justify-content:space-between}.stage-title{display:flex;align-items:center;gap:10px}.stage-title b,.card-head b{font:600 9px 'DM Mono';letter-spacing:.12em;color:#596980}.stage-title span{color:#9ba6b5;font:10px 'DM Mono'}.view-actions{display:flex;gap:6px}.small-btn{border:1px solid #e1e7ee;border-radius:5px;background:white;color:#778499;padding:6px 9px;font-size:10px}.small-btn.selected{color:#2b5fca;background:#f3f6fd;border-color:#d8e3fb}.canvas-wrap{position:relative;flex:1;min-height:500px;background:#fcfdfe}#canvas{width:100%;height:100%;min-height:500px;display:block;touch-action:none;cursor:crosshair}#hitLayer{cursor:crosshair}.canvas-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:10px 13px;border:1px solid #e8edf3;border-radius:6px;color:#9aa5b3;font-size:10px;box-shadow:var(--shadow);pointer-events:none}.scale-chip{position:absolute;bottom:13px;right:14px;display:flex;gap:8px;align-items:center;padding:6px 8px;background:#fff;border:1px solid #e7ebf0;border-radius:4px;font:9px 'DM Mono';color:#98a3b1}.scale-chip b{color:#53627a}.legend{border-top:1px solid #eff2f5;display:flex;gap:22px;padding:12px 17px;color:#8692a3;font-size:9px}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:16px;height:3px;border-radius:2px;display:block;background:#315fae}.legend .support{background:#5e718c}.legend .load{background:#e68d38}.legend .deform{background:#d75b63}.results{padding:38px 0 20px}.result-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:15px}.result-header h2{font:700 21px Manrope;letter-spacing:-.03em;margin:5px 0 0}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.result-card{padding:16px;min-width:0}.result-card.wide{grid-column:1/-1}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.card-head span{display:block;margin-top:4px;color:#9aa5b2;font-size:10px}.card-head select{border:1px solid #e4e9ef;padding:7px;border-radius:5px;background:white;color:#53627a;font-size:10px}.plot{height:290px;position:relative}.plot-empty{height:100%;display:grid;place-items:center;color:#a3adba;font-size:11px;background:repeating-linear-gradient(0deg,#fff,#fff 48px,#f1f4f7 49px)}.plot svg{width:100%;height:100%;overflow:visible}.plot-tip{position:absolute;padding:7px 9px;border-radius:5px;background:#17253a;color:#fff;font:10px 'DM Mono';pointer-events:none;box-shadow:0 5px 15px #17253a33;display:none;z-index:4}.table-wrap{overflow:auto;max-height:245px}table{border-collapse:collapse;width:100%;font-size:10px}th{text-align:left;color:#8b97a7;font:9px 'DM Mono';padding:8px;border-bottom:1px solid #e8edf2}td{padding:8px;border-bottom:1px solid #f0f2f5;color:#526178;font-variant-numeric:tabular-nums}.empty-cell{text-align:center;color:#a0aab8;padding:20px}.notice{margin:12px 0;padding:10px;border:1px solid #e7edf6;background:#f7f9fc;border-radius:6px;color:#8c98a8;font-size:10px;line-height:1.45}.notice.error{border-color:#f3d2d0;background:#fff6f5;color:#b54b48}.notice.success{border-color:#caeadd;background:#effaf5;color:#21815f}.full{width:100%;margin-top:14px}.stack-label{margin:13px 0}.intro{margin-bottom:18px}.steel-card{border-radius:7px;padding:13px;margin-top:10px;background:#f8fafc;border:1px solid #e9edf2}.steel-card h3{font:600 12px Manrope;margin:0 0 8px}.ratio-line{display:flex;justify-content:space-between;font-size:10px;color:#69768a;padding:5px 0}.ratio-line strong{color:#2a3850;font:600 10px 'DM Mono'}.ratio-bar{height:5px;background:#e6eaf0;border-radius:4px;overflow:hidden}.ratio-bar i{height:100%;display:block;background:#26956f}.ratio-bar i.fail{background:#d65550}.status-badge{font:700 9px 'DM Mono';padding:5px 8px;border-radius:12px;background:#e7f7ef;color:#18805c}.status-badge.fail{background:#fff0ef;color:#c24d47}footer{border-top:1px solid #e6ebf0;padding:16px 0 26px;color:#9aa5b2;font:9px 'DM Mono';letter-spacing:.06em}footer span{float:right;letter-spacing:0;font:10px 'DM Sans'}
@media(max-width:980px){main{padding:0 18px}.topbar{padding:0 18px}.workspace{grid-template-columns:310px 1fr}.hero{align-items:start;gap:20px;flex-direction:column}.hero-actions{align-self:end;margin-top:-10px}}@media(max-width:700px){.topbar{height:auto;min-height:60px;flex-wrap:wrap;gap:8px}.top-meta{display:none}.workspace-switcher{order:3;width:100%;justify-content:center}.workspace-tab{flex:1;text-align:center}.workspace{grid-template-columns:1fr}.sidebar{order:2}.stage{order:1;min-height:480px}.canvas-wrap{min-height:430px}.result-grid{grid-template-columns:1fr}.result-card.wide{grid-column:auto}.hero h1{font-size:27px}.hero-actions{align-self:auto;margin:0;flex-wrap:wrap}.stage-title{gap:5px}.stage-title span{font-size:8px}.field-grid{gap:7px}.hero{padding:26px 0 18px}}
.member{stroke:#426795;stroke-width:4;stroke-linecap:round;cursor:pointer}.member.selected{stroke:#2766e9;stroke-width:6}.node-dot{fill:white;stroke:#2865df;stroke-width:1.8;filter:url(#shadow)}.member-label,.node-label{font:10px 'DM Mono';fill:#687a92}.member-label{fill:#40689a}.support-mark{fill:#eaf0f7;stroke:#72849a;stroke-width:1.6}.support-base,.fixed-hatch{stroke:#72849a;stroke-width:1.5}.load-arrow{stroke:#df8b3f;stroke-width:2}.load-label{font:10px 'DM Mono';fill:#c2762c}.axis-label{font:10px 'DM Mono';fill:#8d99a8}
.deformed{fill:none;stroke:#cf5965;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.source-label{display:flex;flex-direction:column;gap:5px;color:#617087;font-size:10px;font-weight:600;margin:8px 0}.source-label select{width:100%;height:32px;border:1px solid #e3e8ef;background:#fff;border-radius:5px;padding:0 8px;color:#25344b;font-size:11px;outline:none}.database-properties{display:none;margin-top:8px}.property-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:10px;background:#f2f6fc;border-radius:5px;color:#6c7a90;font:10px 'DM Mono'}.property-summary b{grid-column:1/-1;color:#304663;font:600 11px 'DM Sans'}.property-summary span{white-space:nowrap}
.diagram-controls{display:flex;align-items:center;gap:8px}.diagram-controls label{display:flex;align-items:center;gap:7px;color:#8793a3;font-size:9px;font-weight:600}.diagram-controls select{min-width:100px;border:1px solid #e4e9ef;padding:7px;border-radius:5px;background:#fff;color:#53627a;font-size:10px}.diagram-controls label:last-child select{min-width:178px}@media(max-width:700px){.card-head{align-items:flex-start;gap:10px;flex-direction:column}.diagram-controls{width:100%;flex-wrap:wrap}.diagram-controls label{flex:1}.diagram-controls select,.diagram-controls label:last-child select{min-width:0;width:100%}}
.support-fixed{stroke:#4d5e76;stroke-width:4}.support-hatch{stroke:#718198;stroke-width:1.5}.support-pin{fill:#e8eef8;stroke:#4e6e9b;stroke-width:1.8}.support-roller{fill:#f0f5ff;stroke:#5578ad;stroke-width:1.7}.roller-wheel{fill:#fff;stroke:#5578ad;stroke-width:1.6}.support-ground{stroke:#73849b;stroke-width:1.5}.support-fixed-key,.support-pin-key,.support-roller-key{width:14px!important;height:14px!important;background:none!important;border:0;position:relative}.support-fixed-key:before{content:"";position:absolute;left:2px;top:2px;width:10px;height:3px;background:#4d5e76}.support-fixed-key:after{content:"////";position:absolute;left:1px;top:5px;color:#718198;font:9px 'DM Mono'}.support-pin-key:before{content:"△";position:absolute;left:0;top:-4px;color:#4e6e9b;font-size:16px}.support-roller-key:before{content:"▽";position:absolute;left:0;top:-4px;color:#5578ad;font-size:16px}
.view-actions{gap:5px;flex-wrap:wrap}.toolbar-divider{height:18px;width:1px;background:#e1e7ee;margin:0 3px}.force-toggle{font:600 10px 'DM Mono';min-width:27px}.force-toggle.selected{background:#edf3ff;border-color:#b9cdf5;color:#245fe2}.force-max{font:600 9px 'DM Mono';paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.legend{flex-wrap:wrap}.legend .legend-n,.legend .legend-v,.legend .legend-m{width:14px;height:3px;border-radius:1px}.legend .legend-n{background:#dc8b3f}.legend .legend-v{background:#168b83}.legend .legend-m{background:#8b5bb3}
@media(max-width:700px){.stage-toolbar{height:auto;min-height:53px;align-items:flex-start;gap:8px;padding:9px 12px;flex-direction:column}.view-actions{max-width:100%}}

.export-controls{display:flex;align-items:center;gap:8px}.export-controls select{max-width:185px;border:1px solid #dce3eb;border-radius:7px;background:#fff;color:#31415a;padding:9px 10px;font-size:11px}.export-controls button:disabled{opacity:.55;cursor:wait}@media(max-width:700px){.export-controls select{max-width:145px;font-size:9px;padding:8px 5px}.export-controls .button{padding:8px 9px}}

.canvas-data-panel{border-bottom:1px solid #e9edf2;background:#fff;padding:10px 16px}.canvas-data-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.canvas-data-head b{font:600 9px 'DM Mono';letter-spacing:.12em;color:#596980;text-transform:uppercase}.canvas-data-content .table-wrap{max-height:150px}.canvas-data-table table{font-size:9px}.canvas-data-table th,.canvas-data-table td{padding:5px 8px}.canvas-data-empty{padding:13px;color:#8794a7;font-size:10px;background:#f8fafc;border-radius:5px}.view-actions{flex-wrap:wrap;justify-content:flex-end}.canvas-data-panel[hidden]{display:none}@media(max-width:980px){.stage-toolbar{height:auto;min-height:53px;padding:8px 12px;gap:12px;align-items:flex-start}.view-actions{gap:4px}.view-actions .small-btn{padding:5px 7px;font-size:9px}}

.axis-indicator{pointer-events:none;stroke:#51637c;stroke-width:2;fill:#51637c}.axis-indicator line{stroke:#51637c}.axis-indicator text{font:600 13px 'DM Mono';stroke:none;fill:#465a74}.axis-indicator circle{stroke:none;fill:#51637c}.coordinate-readout{position:absolute;top:12px;left:14px;z-index:2;padding:7px 9px;background:#17253a;color:#fff;border-radius:5px;box-shadow:0 3px 12px #17253a24;font:10px 'DM Mono';pointer-events:none}.canvas-hint{max-width:310px;text-align:center}.tool[data-tool=member].active{background:#edf4ff;border-color:#9bb9f8;color:#245fdc}

.member-schedule{max-height:230px}.member-schedule select{min-width:92px;padding:5px;border:1px solid #dce4ee;border-radius:4px;background:#fff;color:#51617a;font-size:10px}.schedule-note{margin:7px 2px 0}.canvas-data-table td{white-space:nowrap}.view-actions .small-btn{white-space:nowrap}

/* Coordinate grid, snap feedback, and directly editable canvas schedules */
.world-grid line{stroke:#e8edf3;stroke-width:1;vector-effect:non-scaling-stroke}.world-axis{stroke:#7f91a8;stroke-width:1.35;vector-effect:non-scaling-stroke}.axis-arrow{fill:#7f91a8}.world-origin{fill:#fff;stroke:#245fe2;stroke-width:2;vector-effect:non-scaling-stroke}.world-axis-label,.origin-label{fill:#596c86;font:11px 'DM Mono';paint-order:stroke;stroke:#fcfdfe;stroke-width:3px;stroke-linejoin:round}.origin-label{font-size:10px}.snap-marker{fill:#fff;fill-opacity:.8;stroke:#2865df;stroke-width:1.6;stroke-dasharray:3 2;pointer-events:none;vector-effect:non-scaling-stroke}.snap-cross{stroke:#2865df;stroke-width:1;pointer-events:none;vector-effect:non-scaling-stroke}.snap-control{display:flex;align-items:center;gap:5px;border:1px solid #e1e7ee;border-radius:5px;background:#fff;color:#778499;padding:4px 6px;font:10px 'DM Mono';white-space:nowrap}.snap-control select{border:0;outline:0;background:transparent;color:#51617a;font-size:10px;cursor:pointer}.canvas-data-table input,.canvas-data-table select{min-width:68px;max-width:130px;padding:5px 6px;border:1px solid #dce4ee;border-radius:4px;background:#fff;color:#40516a;font:10px 'DM Mono';font-variant-numeric:tabular-nums}.canvas-data-table input:focus,.canvas-data-table select:focus{outline:2px solid #bfd0ff;border-color:#6389e8}.canvas-data-table button{border:1px solid #f0d8d5;border-radius:4px;background:#fff7f6;color:#bd544a;padding:3px 8px}.canvas-data-table{max-height:190px}.canvas-data-table table{min-width:660px}.member-schedule table{min-width:980px}.coordinate-readout{font-variant-numeric:tabular-nums}

/* Force sign colors and model table delete controls */
.force-positive{fill:#d94c45;fill-opacity:.24;stroke:none}.force-negative{fill:#2865df;fill-opacity:.22;stroke:none}.force-jump{fill:none;stroke-width:1.5;stroke-opacity:.95;stroke-linecap:round}.force-jump.force-positive{stroke:#d94c45}.force-jump.force-negative{stroke:#2865df}.positive-key,.negative-key{width:11px!important;height:11px!important;border-radius:2px!important}.positive-key{background:#d94c45!important}.negative-key{background:#2865df!important}.load-moment{fill:none;stroke:#df8b3f;stroke-width:2.4;stroke-linecap:round}.load-point{fill:#fff;stroke:#df8b3f;stroke-width:2}.row-delete{border:1px solid #f0d8d5;border-radius:4px;background:#fff7f6;color:#bd544a;padding:4px 7px;font-size:9px;font-weight:600}.row-delete:hover{background:#ffebe8;border-color:#e8aaa3}.snap-control{font-size:9px}.view-actions{align-items:center}

.legend .positive-key{width:11px!important;height:11px!important;background:#d94c45!important}.legend .negative-key{width:11px!important;height:11px!important;background:#2865df!important}

/* Draggable diagram scale sliders and signed response plot colors */
.scale-control{display:flex;align-items:center;gap:5px;padding:4px 6px;border:1px solid #e1e7ee;border-radius:5px;background:#fff;color:#778499;font:9px 'DM Mono';white-space:nowrap}.scale-control input[type=range]{width:78px;height:14px;margin:0;accent-color:#2865df;cursor:ew-resize}.scale-control output{min-width:30px;color:#344963;text-align:right}.plot-positive{fill:#d94c45;fill-opacity:.25;stroke:none}.plot-negative{fill:#2865df;fill-opacity:.22;stroke:none}.plot-line-positive,.plot-line-negative{fill:none;stroke-width:2.5}.plot-line-positive{stroke:#d94c45}.plot-line-negative{stroke:#2865df}.result-grid .table-wrap th{white-space:nowrap}

.response-sign-legend{display:flex;justify-content:flex-end;gap:14px;padding:3px 2px;color:#778499;font:9px 'DM Mono'}.response-sign-legend span{display:flex;align-items:center;gap:5px}.response-sign-legend .positive-key,.response-sign-legend .negative-key{display:inline-block}

/* Inline add-row controls for canvas schedules */
.table-add-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;padding:9px 10px;margin:2px 0 8px;background:#f7f9fc;border:1px solid #e8edf3;border-radius:6px}.table-add-row label{display:flex;flex-direction:column;gap:4px;color:#7b889a;font:9px 'DM Mono';white-space:nowrap}.table-add-row input,.table-add-row select{min-width:78px;max-width:180px;padding:6px 7px;border:1px solid #dce4ee;border-radius:4px;background:#fff;color:#40516a;font:10px 'DM Mono'}.table-add-row .table-add-button{min-height:29px;border:1px solid #245fe2;border-radius:4px;background:#245fe2;color:#fff;padding:5px 10px;font-size:10px;font-weight:700}.table-add-row .table-add-button:hover{background:#174bc5}.table-add-row .table-add-button:disabled{opacity:.45;cursor:not-allowed}.canvas-data-table input,.canvas-data-table select{font-variant-numeric:tabular-nums}

.value-mode-control select{max-width:135px}.force-value{font:600 9px 'DM Mono';fill:#24364f;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.global-value{fill:#9b4921}.local-value{fill:#344f78}.node-value{font-size:8px;fill:#263b55}.legal-footer{display:flex;flex-direction:column;gap:6px!important;line-height:1.5}.legal-footer strong{color:#45566d}.legal-footer span{max-width:1000px}

.member-detail-label{font:600 8px 'DM Mono';fill:#344963;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.brace-y-marker{fill:#2367d1;stroke:#fff;stroke-width:1.5px;pointer-events:none}.brace-z-marker{fill:#b77717;stroke:#fff;stroke-width:1.5px;pointer-events:none}.manual-moment-inputs{display:flex;flex-direction:column;gap:8px}.manual-moment-inputs[hidden]{display:none}.factor-summary{padding:8px 9px;border:1px solid #e6ecf3;border-radius:5px;background:#f6f8fb}.factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 9px;margin:10px 0;padding:9px;background:#f6f8fb;border:1px solid #e7edf4;border-radius:5px;color:#56667e;font:10px 'DM Mono'}.factor-grid b{grid-column:1/-1;margin-top:4px;color:#334966;font:700 9px 'DM Sans';letter-spacing:.04em}.factor-grid span{white-space:nowrap}.value-mode-control{max-width:205px}.value-mode-control select{max-width:145px}@media(max-width:700px){.factor-grid{font-size:9px}.member-detail-label{font-size:7px}}

.saved-model-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.saved-model-actions .button{justify-content:center}.saved-model-status{min-height:16px;margin:7px 0 12px}.saved-model-select-label{margin-top:10px}

/* Keep the drawing area sized to the available browser viewport. */
.stage{position:sticky;top:10px;height:min(78vh,900px);min-height:min(520px,78vh)}.canvas-wrap{min-height:0;overflow:hidden}#canvas{min-height:0;width:100%;height:100%;touch-action:none;cursor:crosshair}.zoom-btn{min-width:28px;padding-left:8px!important;padding-right:8px!important;font-size:15px!important;line-height:1}.canvas-wrap:has(#canvas:active) #canvas{user-select:none}@media(max-width:700px){.stage{position:relative;top:auto;height:min(68vh,720px);min-height:420px;max-height:720px}.canvas-wrap{min-height:0}#canvas{min-height:0}}

.member-load-note{line-height:1.45;padding:5px 7px;background:#f5f8fc;border-radius:4px}.steel-member-selection{margin:10px 0 14px;padding:9px;border:1px solid #e5eaf0;border-radius:6px;background:#fbfcfe}.steel-member-selection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#596980;font:600 9px 'DM Mono';letter-spacing:.06em;text-transform:uppercase}.steel-member-selection-head span:last-child{display:flex;gap:8px}.steel-member-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;max-height:145px;overflow:auto}.steel-member-check{display:flex;align-items:center;gap:6px;color:#40516a;font-size:10px}.steel-member-check input{accent-color:#2865df}.utilization-label{font:700 9px 'DM Mono';fill:#1d2b40;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.small-btn:disabled{opacity:.45;cursor:not-allowed}

.load-case-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:6px 0 10px}.load-case-actions .button{justify-content:center;padding:7px 8px;font-size:10px}.combination-factors{display:grid;gap:5px;margin:7px 0 12px}.combination-factor-row{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:8px;color:#56667e;font-size:10px}.combination-factor-row input{width:100%;padding:6px;border:1px solid #dce3eb;border-radius:5px}.result-run-controls{display:flex;align-items:end;gap:10px}.result-run-controls label{display:grid;gap:4px;color:#687991;font-size:10px}.result-run-controls select{min-width:180px;border:1px solid #dce3eb;border-radius:6px;padding:8px;background:#fff;color:#31415a}.active-case-pill{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.result-run-controls{width:100%;justify-content:space-between}.result-run-controls select{min-width:0;max-width:180px}.result-header{align-items:flex-start;flex-wrap:wrap}}

[hidden]{display:none!important}

.shear-option{display:flex;align-items:flex-start;gap:9px;margin:12px 0;padding:10px;border:1px solid #e3eaf3;border-radius:6px;background:#f8fafd;color:#32435b;font-size:11px;cursor:pointer}.shear-option input{width:15px;height:15px;margin:1px 0 0;accent-color:#2463eb;flex:none}.shear-option span{display:flex;flex-direction:column;gap:4px}.shear-option small{color:#718097;font-size:9px;line-height:1.45;font-weight:400}
.canvas-result-chip{position:absolute;top:13px;left:14px;z-index:3;display:flex;flex-direction:column;gap:4px;max-width:min(420px,calc(100% - 110px));padding:8px 11px;border:1px solid #e2e8f0;border-radius:6px;background:#fffffff2;box-shadow:0 3px 12px #17253a0b;pointer-events:none}.canvas-result-chip span{font:600 8px DM Mono;letter-spacing:.12em;color:#8a97a9}.canvas-result-chip b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px DM Sans;color:#8290a3}.canvas-result-chip.has-results b{color:#2457ad}.canvas-result-chip.has-results{border-color:#d7e3fa;background:#ffffffeb}
.canvas-result-chip{left:auto;right:14px;top:13px;max-width:min(420px,calc(100% - 150px))}.result-run-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.result-run-controls label{display:flex;flex-direction:column;gap:4px;color:#617087;font-size:10px;font-weight:600}.result-run-controls select{max-width:220px;min-width:160px}.result-run-controls select[multiple]{min-width:200px;min-height:72px}.result-run-controls .button{white-space:nowrap}.model-loaders{align-items:flex-end;flex-wrap:wrap}.quick-load-label{display:flex;flex-direction:column;gap:4px;color:#617087;font-size:10px;font-weight:600}.quick-load-label select{height:36px;max-width:210px;min-width:165px;border:1px solid #dce3eb;border-radius:7px;padding:0 8px;background:#fff;color:#31415a;font-size:11px}.result-run-controls+.hint{margin-top:7px;text-align:right}.canvas-result-chip b{font-family:DM Sans,sans-serif}@media(max-width:850px){.result-run-controls{align-items:stretch}.result-run-controls label,.result-run-controls select{max-width:none;width:100%}.result-run-controls+.hint{text-align:left}.quick-load-label select{max-width:none}}

.reaction-arrow{fill:none;stroke-width:2;stroke-linecap:round;pointer-events:none}.reaction-positive{stroke:#188663;fill:#188663}.reaction-negative{stroke:#c34f4b;fill:#c34f4b}.reaction-label{font:10px 'DM Mono';stroke:none;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}

/* Keep the full model toolbar visible and use more of the browser height. */
.stage{height:min(90vh,1100px);min-height:min(680px,90vh)}
.stage-toolbar{height:auto;min-height:53px;overflow:visible;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:9px;padding:11px 16px}
.stage-title{min-height:20px}
.stage-toolbar .view-actions{width:100%;max-width:none;justify-content:flex-start;align-items:center;gap:6px;row-gap:7px;overflow:visible}
.canvas-wrap{min-height:0;flex:1}
@media(max-width:980px){.stage{height:min(88vh,1000px);min-height:min(650px,88vh)}.stage-toolbar{height:auto;min-height:53px;padding:10px 12px;gap:9px;align-items:stretch}.stage-toolbar .view-actions{max-width:none;justify-content:flex-start;gap:5px;row-gap:7px}}
@media(max-width:700px){.stage{position:relative;top:auto;height:min(80vh,820px);min-height:520px;max-height:820px}.stage-toolbar{height:auto;min-height:0;flex-direction:column;align-items:stretch}.stage-title{justify-content:space-between}.stage-toolbar .view-actions{width:100%;max-width:none;justify-content:flex-start}.canvas-wrap{min-height:0}#canvas{min-height:0}}

/* Keep load case selection tucked away until the user starts the analysis workflow. */
.result-run-controls{align-items:flex-start}
.analysis-run-details{position:relative;z-index:8}
.analysis-run-details>summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;white-space:nowrap}
.analysis-run-details>summary::-webkit-details-marker{display:none}
.analysis-run-details[open]>summary span{transform:rotate(90deg)}
.analysis-run-panel{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,calc(100vw - 36px));padding:14px;border:1px solid #dce4ee;border-radius:9px;background:#fff;box-shadow:0 14px 34px #14243b26}
.analysis-run-panel label{display:flex;flex-direction:column;gap:7px;color:#52627a;font-size:11px;font-weight:700}
.analysis-run-panel select{width:100%;max-width:none;min-height:132px;padding:8px;border:1px solid #dce3eb;border-radius:6px;background:#fff;color:#31415a;font-size:12px}
.analysis-run-panel .hint{margin:8px 0 12px;color:#738198;font-size:10px;line-height:1.5}
.analysis-run-panel .button{width:100%;justify-content:center}
@media(max-width:700px){.analysis-run-panel{left:0;right:auto}.result-run-controls{align-items:flex-start}}

/* Along-member response annotations */
.force-value.member-value{font-size:7px;fill:#24364f;stroke-width:2px}


.member-extrema-marker{fill:#fff;stroke:#17253a;stroke-width:2;pointer-events:none}.member-extrema-marker.min{stroke:#bf4f52}.member-extrema-marker.max{stroke:#246c56}.member-extrema-value{font:600 9px 'DM Mono';paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;fill:#20324b;pointer-events:none}.member-extrema-value.min{fill:#a33f46}.member-extrema-value.max{fill:#176344}
.account-controls{display:flex;align-items:center;gap:7px;white-space:nowrap}.account-controls>span{max-width:170px;overflow:hidden;text-overflow:ellipsis;color:#748198;font:10px 'DM Mono'}.account-controls .button{padding:8px 10px;font-size:10px}.account-controls .button:disabled{opacity:.6;cursor:wait}
.account-page{min-height:100vh;background:radial-gradient(ellipse at 12% 0%,#e9effb 0,transparent 40%),var(--paper)}.account-shell{max-width:520px;margin:0 auto;padding:42px 20px 28px}.account-brand{margin:0 0 28px}.account-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 16px 50px #17253a12}.account-card h1{font:700 25px Manrope;letter-spacing:-.035em;margin:9px 0}.account-intro{color:#758399;font-size:12px;line-height:1.55;margin:0 0 20px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f1f4f8;border-radius:8px;margin-bottom:17px}.account-tab{border:0;border-radius:6px;background:transparent;color:#77859a;padding:9px;font-size:11px;font-weight:700}.account-tab.active{background:#fff;color:#234d9d;box-shadow:0 1px 4px #17253a18}.account-form{display:grid;gap:13px}.account-form[hidden],#memberPanel[hidden],.account-tabs[hidden]{display:none}.account-form label{display:grid;gap:6px;color:#4e5c71;font-size:10px;font-weight:700}.account-form label small{color:#929eae;font-size:9px;font-weight:400}.account-form input{width:100%;height:40px;border:1px solid #dfe5ed;border-radius:6px;padding:0 10px;color:#1f2d42;font-size:12px}.account-form input:focus{outline:0;border-color:#7ea1f2;box-shadow:0 0 0 3px #eaf0ff}.account-submit{width:100%;margin-top:5px}.account-message{min-height:18px;color:#28765f;font-size:10px;line-height:1.5;margin:12px 0 0}.account-message.error{color:#b44d49}.account-privacy{border-top:1px solid #edf0f4;margin:18px 0 0;padding-top:13px;color:#929eae;font-size:9px;line-height:1.55}.member-identity{display:grid;gap:4px;margin-bottom:14px;color:#8894a5;font-size:9px}.member-identity b{color:#34435a;font:600 11px 'DM Mono'}.subscription-card{background:#f6f8fc;border:1px solid #e4eaf3;border-radius:8px;padding:15px}.subscription-card.is-active{background:#f0faf5;border-color:#d1ecdf}.subscription-status{font:700 12px Manrope;color:#aa7420}.is-active .subscription-status{color:#16805e}.subscription-card p{color:#77859a;font-size:10px;line-height:1.5;margin:7px 0 12px}.subscription-card button:disabled{opacity:.55;cursor:not-allowed}.account-signout{display:block;border:0;background:none;color:#7f8b9d;font-size:10px;margin:12px auto 0;padding:7px}.account-signout:hover{color:#245fe2}.account-footer{text-align:center;color:#9aa5b2;font:9px 'DM Mono';margin-top:18px}
@media(max-width:980px){.account-controls>span{max-width:120px}}
@media(max-width:700px){.topbar{height:auto;min-height:60px;padding:8px 14px;flex-wrap:wrap;gap:8px}.account-controls{order:3;width:100%;justify-content:flex-end}.account-controls>span{margin-right:auto}.export-controls{margin-left:auto}.account-shell{padding-top:24px}.account-card{padding:22px 18px}}

.modal-direction-options{display:grid;gap:8px;margin:13px 0}.modal-direction-options label{display:flex;align-items:center;gap:8px;color:#596980;font-size:11px}.modal-direction-options input{accent-color:#2862e3}.mode-count-label{display:flex;flex-direction:column;gap:5px;max-width:190px;color:#596980;font-size:11px;font-weight:700}.mode-count-label input{height:32px;border:1px solid #e3e8ef;border-radius:5px;padding:0 8px}.modal-results-panel{margin:14px 0 16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow)}.modal-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.modal-results-head>div{min-width:0}.modal-results-head b{display:block;color:#596980;font:600 9px 'DM Mono';letter-spacing:.12em}.modal-results-head span{display:block;max-width:760px;margin-top:5px;color:#77859a;font-size:10px;line-height:1.5}.modal-results-head label{display:flex;align-items:center;gap:8px;color:#66748a;font-size:10px;white-space:nowrap}.modal-results-head select{max-width:260px;border:1px solid #e4e9ef;border-radius:5px;background:#fff;padding:7px;color:#53627a;font-size:10px}.modal-frequency-table{min-width:530px}.modal-frequency-table th,.modal-frequency-table td{text-align:left;padding:8px}.modal-frequency-table tbody tr:hover{background:#f7f9fc}.analysis-run-panel [hidden],.modal-results-panel[hidden]{display:none!important}.result-run-controls>label{display:flex;flex-direction:column;gap:5px;color:#66748a;font-size:10px}.result-run-controls>label select{border:1px solid #e4e9ef;padding:7px;border-radius:5px;background:white;color:#53627a;font-size:10px}.theory-entry{font-family:'DM Sans',sans-serif}
@media(max-width:700px){.modal-results-head{align-items:flex-start;flex-direction:column}.modal-results-head label{white-space:normal}.modal-results-head select{max-width:100%}.modal-results-panel{padding:12px}.result-run-controls>label{width:100%}}

.spectrum-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:11px 0}.spectrum-fields label{display:flex;flex-direction:column;gap:5px;color:#596980;font-size:10px;font-weight:700}.spectrum-fields input,.spectrum-fields select{min-width:0;width:100%;height:32px;padding:0 7px;border:1px solid #e3e8ef;border-radius:5px;background:#fff;color:#31415a;font-size:11px}.spectrum-fields .spectrum-note{grid-column:1/-1}.spectrum-plot-card{margin:12px 0 0;padding:12px 16px}.spectrum-plot-card[hidden]{display:none}.spectrum-plot-card .plot{height:230px}.spectrum-plot-card svg{width:100%;height:100%}@media(max-width:700px){.spectrum-fields{grid-template-columns:1fr}}

.analysis-feature-status{margin:10px 0 0;padding:10px 12px;border:1px solid #e6d6b2;border-radius:6px;background:#fff9ed;color:#826421;font-size:11px;line-height:1.5}.analysis-feature-status[hidden]{display:none}

.owner-access{margin-top:18px;border-top:1px solid #edf0f4;padding-top:14px;color:#77859a;font-size:10px}.owner-access summary{cursor:pointer;color:#40516b;font-weight:700}.owner-access p{font-size:9px;line-height:1.5}.owner-access[hidden]{display:none}

.plan-card{margin:0 0 18px;padding:17px 18px;border:1px solid #dfe7f3;border-radius:10px;background:linear-gradient(135deg,#f8faff,#fff)}.plan-price{margin:8px 0 4px;color:#2459c5;font:700 30px Manrope;letter-spacing:-.04em}.plan-price span{color:#718096;font:600 11px Manrope;letter-spacing:0}.plan-card p{margin:4px 0 10px;color:#758399;font-size:10px;line-height:1.5}.plan-trial{padding-top:9px;border-top:1px solid #e8edf5;color:#52647c;font-size:9px;font-weight:700}.khqr-payment{margin-top:12px;padding:15px;border:1px solid #d9e5da;border-radius:8px;background:#f6fbf6}.khqr-payment[hidden]{display:none}.khqr-heading{font:700 12px Manrope;color:#285d43}.khqr-payment p{color:#667a6a;font-size:10px;line-height:1.5}.khqr-unavailable{padding:9px;background:#fff7e8;border:1px solid #f1dfb7;border-radius:6px;color:#795c20!important}

/* AutoCAD DXF geometry import */
.dxf-import-card{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.dxf-import-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#596980;font:600 9px 'DM Mono';letter-spacing:.12em}.dxf-import-controls{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.dxf-import-controls .quick-load-label select{height:36px;max-width:190px;min-width:135px;border:1px solid #dce3eb;border-radius:7px;padding:0 8px;background:#fff;color:#31415a;font-size:11px}.dxf-file-label input{height:36px;max-width:250px;border:1px solid #dce3eb;border-radius:7px;padding:7px;background:#fff;color:#53627a;font-size:10px}.dxf-import-card .hint{max-width:none;margin:8px 0 0}.dxf-import-status{margin-top:5px;color:#62738a;font-size:10px}.dxf-import-status.error{color:#b54b48}@media(max-width:700px){.dxf-import-controls{align-items:stretch}.dxf-import-controls>*{width:100%;max-width:none!important}.dxf-import-controls select,.dxf-file-label input{max-width:none!important;width:100%}}

/* Local axes and extruded member rendering */
.member-local-axes{pointer-events:none}.local-axis-x,.local-axis-y{stroke-width:2;vector-effect:non-scaling-stroke}.local-axis-x{stroke:#c8514b}.local-axis-y{stroke:#198666}.local-axis-label{font:700 11px 'DM Mono';paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.local-axis-label-x{fill:#b84642}.local-axis-label-y{fill:#147a5c}.extruded-member{pointer-events:none}.extruded-member-axis{stroke:#304b70;stroke-width:.8;stroke-dasharray:4 3;opacity:.8;vector-effect:non-scaling-stroke}.view-actions .small-btn.selected#localAxesBtn,.view-actions .small-btn.selected#extrudeViewBtn{color:#245ed8;background:#eff4ff;border-color:#b9cffb}

.khqr-image{display:block;width:min(100%,330px);max-height:440px;object-fit:contain;margin:12px auto 16px;border:1px solid #e1e6e1;border-radius:8px;background:#fff}.khqr-account-details{display:grid;gap:8px;padding:12px;background:#fff;border:1px solid #e4ebe5;border-radius:7px}.khqr-account-details div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.khqr-account-details span{color:#718078}.khqr-account-details b{color:#26372f;font-family:"DM Mono",monospace}.khqr-activation{margin:12px 0 0!important;padding:10px;background:#fff8e9;border:1px solid #f0e2c2;border-radius:6px;color:#6d5b34!important}.khqr-activation a{color:#285d43;font-weight:700;text-decoration:underline}
.owner-preview-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 18% 0%,#e9effb 0,transparent 45%),var(--paper)}.owner-preview-card{width:min(100%,460px);padding:30px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 50px #17253a12}.owner-preview-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px;font-weight:700}.owner-preview-brand small{display:block;margin-top:5px;color:#8491a3;font:9px 'DM Mono';letter-spacing:.13em}.owner-preview-card h1{font:700 25px Manrope;letter-spacing:-.035em;margin:10px 0}.owner-preview-card>p{color:#758399;font-size:12px;line-height:1.6}.owner-preview-card form{display:grid;gap:9px;margin-top:23px}.owner-preview-card label{font-size:11px;font-weight:700;color:#4e5c71}.owner-preview-card input{height:42px;border:1px solid #dfe5ed;border-radius:6px;padding:0 11px;font-size:12px}.owner-preview-card input:focus{outline:0;border-color:#7ea1f2;box-shadow:0 0 0 3px #eaf0ff}.owner-preview-card button{margin-top:5px}.owner-preview-card .account-message.error{color:#b44d49}

.google-signin{display:flex;width:100%;height:42px;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;border:1px solid #dfe5ed;border-radius:6px;background:#fff;color:#34435a;font-size:12px;font-weight:700;text-decoration:none}.google-signin:hover{background:#f8fafc;border-color:#cbd5e1}.google-g{font:700 17px Arial;color:#4285f4}.auth-divider{display:flex;align-items:center;gap:10px;margin:8px 0 14px;color:#929eae;font-size:9px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#edf0f4;flex:1}.forgot-password-link{justify-self:start;border:0;background:none;padding:0;color:#285fe0;font-size:10px;text-decoration:underline;cursor:pointer}.reset-password-shell{max-width:480px;margin:0 auto;padding:48px 20px}.reset-password-form{display:grid;gap:14px}

.reset-password-form label{display:grid;gap:6px;color:#4e5c71;font-size:10px;font-weight:700}.reset-password-form input{width:100%;height:40px;border:1px solid #dfe5ed;border-radius:6px;padding:0 10px;color:#1f2d42;font-size:12px}.reset-password-form input:focus{outline:0;border-color:#7ea1f2;box-shadow:0 0 0 3px #eaf0ff}

/* Keep the main action visible while analysis-specific settings stay in the options popover. */
.result-run-controls{flex-wrap:wrap;align-items:flex-end}
.analysis-run-details{flex:0 0 auto}
.analysis-run-panel{max-height:min(70vh,620px);overflow-y:auto;overscroll-behavior:contain}
.analysis-run-button{align-self:flex-end;flex:0 0 auto;min-height:35px;white-space:nowrap}
.analysis-run-details>summary.button{min-height:35px;padding:8px 11px}
.analysis-run-details>summary span{font-size:16px;margin-left:8px}
@media(max-width:700px){.result-run-controls{align-items:stretch}.analysis-run-button{width:100%}.analysis-run-details{flex:1 1 auto}.analysis-run-panel{left:0;right:auto;width:min(360px,calc(100vw - 36px));max-height:65vh;overflow-y:auto}}

.mode-animation-controls{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 14px;padding:11px 12px;border:1px solid #e6ebf2;border-radius:7px;background:#f8fafd}.mode-animation-controls .button{white-space:nowrap}.mode-animation-controls label{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 9px;color:#596980;font-size:10px;font-weight:700}.mode-animation-controls input{grid-column:1/-1;width:min(220px,50vw);accent-color:#2862e3}.mode-animation-controls output{color:#2b5fc4;font:600 10px 'DM Mono'}.mode-animation-controls>span{color:#8894a5;font-size:10px}@media(max-width:700px){.mode-animation-controls{align-items:flex-start;gap:10px}.mode-animation-controls label{flex:1}}

.member-actions{display:grid;gap:9px;margin:14px 0 8px}.member-actions>[hidden]{display:none}.button.secondary{background:#f4f7fc;border-color:#dce5f3;color:#31558f}.button.secondary:hover{background:#eaf0fb;border-color:#b9cae6}.subscription-end{margin:0!important;color:#415674!important;font-size:10px!important;font-weight:700}.cancel-subscription-link{justify-self:start;color:#285fe0;font-size:10px;text-decoration:underline;padding:4px 0}.member-actions button:disabled{opacity:.6;cursor:wait}

.owner-billing-shell{max-width:760px}.owner-billing-shell h2{font:700 15px Manrope;margin:24px 0 10px}.owner-request-list{display:grid;gap:9px}.owner-request{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #e6ebf2;border-radius:8px;background:#fbfcfe}.owner-request>div{display:grid;gap:4px;min-width:0}.owner-request b{overflow-wrap:anywhere;font-size:12px}.owner-request span,.owner-empty,.application-status{color:#77859a;font-size:10px;line-height:1.5}.owner-request .button{flex:none}.owner-empty{padding:10px;border:1px dashed #dce3eb;border-radius:7px}.application-status{padding:8px 10px;background:#f4f7fc;border:1px solid #dfe7f3;border-radius:6px}.cancel-subscription-link{justify-self:start;border:0;background:none;color:#285fe0;font-size:10px;text-decoration:underline;padding:4px 0;cursor:pointer}.cancel-subscription-link:hover{color:#174bc5}@media(max-width:600px){.owner-request{align-items:flex-start;flex-direction:column}.owner-request .button{width:100%}}

.load-case-type-note { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #dce6f2; border-radius: 10px; background: #f7faff; color: #52647d; line-height: 1.5; }

/* Make the roller legend show the wheels as well as the support triangle. */
.legend .support-roller-key { width: 18px !important; height: 18px !important; flex: 0 0 18px; }
.legend .support-roller-key:before { content: "▽"; position: absolute; left: 2px; top: -3px; color: #5578ad; font: 14px/14px Arial, sans-serif; }
.legend .support-roller-key:after { content: "○ ○"; position: absolute; left: 1px; top: 8px; color: #5578ad; font: 7px/8px Arial, sans-serif; letter-spacing: -1px; white-space: nowrap; }

.load-table-case-bar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 10px;padding:9px 11px;border:1px solid #dce5f0;border-radius:7px;background:#f7f9fc}.load-table-case-bar label{display:grid;gap:5px;color:#65748a;font-size:10px;font-weight:700}.load-table-case-bar select{min-width:210px;max-width:320px;padding:7px 9px;border:1px solid #dce4ee;border-radius:5px;background:#fff;color:#354660;font-size:11px}.load-table-case-bar>span{display:grid;gap:3px;text-align:right}.load-table-case-bar b{font-size:11px;color:#263c5e}.load-table-case-bar small{font-size:10px;color:#738198}.analysis-run-panel select[multiple]{min-height:165px!important}.analysis-run-panel select[multiple] option{padding:5px 7px}
@media(max-width:600px){.load-table-case-bar{align-items:stretch;flex-direction:column}.load-table-case-bar>span{text-align:left}.load-table-case-bar select{max-width:none;width:100%}}

.auto-combination-settings{margin:8px 0;padding:10px;border:1px solid #dce5f0;border-radius:7px;background:#f7f9fc}.auto-combination-settings[hidden]{display:none}.auto-combination-settings .field-grid{margin:0}.auto-combination-settings input{width:100%;min-width:0;padding:7px;border:1px solid #dce4ee;border-radius:5px;color:#40516a}.auto-combination-warning{margin:8px 0;color:#6e7e94;font-size:10px;line-height:1.5}.auto-combination-warning:empty{display:none}.auto-combination-warning.error{padding:8px 10px;border-radius:5px;background:#fff4f2;color:#a53f39}.auto-combination-note{grid-column:1/-1;margin:0;padding:8px 10px;border-radius:5px;background:#f4f7fb;color:#52647c}.combination-factor-row input:disabled{background:#f3f6fa;color:#738198;cursor:not-allowed}

.auto-combination-settings .stack-label{margin:0 0 9px}.auto-combination-settings .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auto-combination-settings input[readonly]{background:#edf2f8;color:#40516a;font-weight:700}.auto-combination-settings select{width:100%;padding:7px;border:1px solid #dce4ee;border-radius:5px;background:#fff;color:#40516a}

/* Load table popup */
.load-manager-dialog{width:min(1120px,calc(100vw - 28px));max-width:none;max-height:calc(100vh - 28px);padding:0;border:1px solid #dce5f0;border-radius:18px;background:#fff;color:#243752;box-shadow:0 26px 90px #15284440}.load-manager-dialog::backdrop{background:#13254180;backdrop-filter:blur(3px)}.load-manager-shell{padding:22px 24px;display:grid;gap:14px}.load-manager-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.load-manager-kicker{font:700 9px 'DM Mono',monospace;letter-spacing:.16em;color:#4265a3}.load-manager-header h2,.load-manager-add h3{margin:5px 0;color:#1c2f4b;font:700 22px Manrope,Arial,sans-serif}.load-manager-header p{margin:0;color:#718099;font-size:12px}.load-manager-close{border:0;background:#f1f4f9;color:#5c6b80;width:34px;height:34px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer}.load-manager-filters{display:flex;align-items:end;gap:12px;padding:12px;border-radius:10px;background:#f5f8fc}.load-manager-filters label,.load-manager-add label{display:grid;gap:5px;color:#56677f;font-size:10px;font-weight:700}.load-manager-filters select,.load-manager-filters input,.load-manager-add input,.load-manager-add select{border:1px solid #dce4ef;border-radius:7px;background:#fff;color:#30445f;padding:8px 10px;font:inherit;font-size:12px}.load-manager-search{min-width:240px;flex:1}.load-manager-summary{margin-left:auto;padding:8px 0;color:#70809a;font-size:10px}.load-manager-table-wrap{max-height:42vh;overflow:auto;border:1px solid #e4eaf2;border-radius:10px}.load-manager-table{width:100%;border-collapse:collapse;font-size:11px}.load-manager-table th{position:sticky;top:0;background:#f5f8fc;color:#65748c;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.06em;z-index:1}.load-manager-table th,.load-manager-table td{padding:8px 9px;border-bottom:1px solid #edf1f6;vertical-align:middle}.load-manager-table td:first-child b,.load-manager-table td:first-child small{display:block}.load-manager-table td:first-child small{margin-top:3px;color:#8996a9;font-size:9px}.load-manager-table select{max-width:210px;border:1px solid #dce4ef;border-radius:6px;padding:6px;background:white;color:#364b67;font-size:10px}.load-manager-table .load-target-select{min-width:120px;max-height:70px}.load-edit-number{width:92px;min-width:65px;padding:6px 7px;border:1px solid #dce4ef;border-radius:6px;color:#30445f;font-size:11px}.load-value-control{display:flex;align-items:center;gap:5px;white-space:nowrap}.load-value-control span{color:#77869b;font-size:9px}.load-value-readonly{white-space:nowrap;color:#52677f}.load-value-readonly small,.load-auto-tag{color:#71829a;font-size:9px}.load-remove-btn{border:1px solid #efc9c9;border-radius:6px;background:#fff7f7;color:#b34b4b;font-size:11px;min-height:28px;padding:5px 11px;cursor:pointer;white-space:nowrap}.load-remove-btn:hover{background:#fde8e8}.load-target-list{display:block;max-width:190px;color:#415773;font-size:10px;line-height:1.5}.load-empty{padding:22px!important;color:#8290a3;text-align:center}.load-manager-note{margin:0;color:#78869a;font-size:10px;line-height:1.5}.load-manager-add{display:grid;grid-template-columns:1.1fr 1.4fr 1.4fr 1fr 1.5fr 1fr auto;gap:10px;align-items:end;padding:14px;border:1px solid #dde7f4;border-radius:11px;background:#f8faff}.load-manager-add h3{font-size:15px;margin-bottom:0}.load-manager-add label select[multiple]{min-width:130px;min-height:60px}.load-manager-add small{font-weight:400;color:#8793a5}.load-manager-add [hidden]{display:none}.load-manager-add .button{white-space:nowrap;min-height:36px}@media(max-width:850px){.load-manager-add{grid-template-columns:repeat(2,minmax(0,1fr))}.load-manager-add>div:first-child{grid-column:1/-1}.load-manager-add .button{grid-column:1/-1}.load-manager-filters{flex-wrap:wrap}.load-manager-summary{margin-left:0}.load-manager-table-wrap{max-height:38vh}}@media(max-width:520px){.load-manager-shell{padding:15px}.load-manager-add{grid-template-columns:1fr}.load-manager-add>div:first-child,.load-manager-add .button{grid-column:auto}.load-manager-filters{align-items:stretch;flex-direction:column}.load-manager-search{min-width:0}.load-manager-filters select,.load-manager-filters input{width:100%}.load-manager-table{min-width:780px}}

.load-popup-model-body .canvas-data-content .table-wrap{max-height:56vh}.load-popup-model-body .canvas-data-table table{font-size:10px}.load-popup-model-body .canvas-data-table th,.load-popup-model-body .canvas-data-table td{padding:7px 9px}.load-popup-model-body .table-add-row{margin:2px 0 12px;padding:11px;border:1px solid #e3eaf3;border-radius:9px;background:#f7f9fc}.load-popup-model-body .canvas-data-content{max-height:66vh;overflow:auto}

#loadCaseActions{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Keep the live-load category picker hidden until Live load is selected. */
#liveLoadCategoryLabel[hidden]{display:none!important}

/* Shared theme control and supplied FacinaX logo */
.brand-logo-window{position:relative;display:block;width:230px;height:54px;overflow:hidden;flex:0 0 auto;background:transparent}
.brand-logo-window img{position:absolute;display:block;width:100%;height:auto;left:0;top:-31px;max-width:none}
.account-brand .brand-logo-window{width:260px;height:62px}
.account-brand .brand-logo-window img{top:-35px}
.theme-toggle{white-space:nowrap;min-width:96px}
.account-theme-toggle{position:absolute;top:24px;right:24px}
.account-shell{position:relative}
.theory-header-actions{display:flex;align-items:center;gap:8px}
@media(max-width:700px){.brand-logo-window{width:170px;height:42px}.brand-logo-window img{top:-23px}.account-brand .brand-logo-window{width:195px;height:48px}.account-brand .brand-logo-window img{top:-26px}.account-theme-toggle{top:14px;right:14px}.theory-header-actions{gap:5px}.theme-toggle{min-width:82px;padding:8px 10px!important;font-size:10px!important}}
html[data-theme="dark"]{color-scheme:dark;--ink:#e7edf7;--muted:#a3b0c2;--line:#303b4e;--paper:#0d1420;--white:#151e2b;--blue:#78a0ff;--blue2:#1c2a42;--green:#62c49a;--shadow:0 8px 30px #0005}
html[data-theme="dark"] body{background:var(--paper)!important;color:var(--ink)!important}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .sidebar,html[data-theme="dark"] .stage,html[data-theme="dark"] .result-card,html[data-theme="dark"] .account-card,html[data-theme="dark"] .plan-card,html[data-theme="dark"] .dxf-import-card,html[data-theme="dark"] .theory-card,html[data-theme="dark"] .theory-section,html[data-theme="dark"] .theory-toc,html[data-theme="dark"] .theory-callout{background:#151e2b!important;color:var(--ink)!important;border-color:#303b4e!important}
html[data-theme="dark"] .topbar{border-bottom-color:#303b4e!important}
html[data-theme="dark"] .brand,html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,html[data-theme="dark"] h4,html[data-theme="dark"] label,html[data-theme="dark"] th{color:var(--ink)}
html[data-theme="dark"] p,html[data-theme="dark"] small,html[data-theme="dark"] .hint,html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .top-meta{color:#a6b3c7}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0f1724!important;color:#e7edf7!important;border-color:#3a465b!important}
html[data-theme="dark"] .button:not(.primary),html[data-theme="dark"] .small-btn,html[data-theme="dark"] .side-tab,html[data-theme="dark"] .workspace-tab,html[data-theme="dark"] .value-mode-control{background:#1b2636!important;color:#dce6f5!important;border-color:#3a465b!important}
html[data-theme="dark"] .workspace-tab.active,html[data-theme="dark"] .side-tab.active{background:#17392f!important;color:#8ce0b7!important}
html[data-theme="dark"] table,html[data-theme="dark"] th,html[data-theme="dark"] td{border-color:#303b4e!important}
html[data-theme="dark"] th{background:#1b2636!important}
html[data-theme="dark"] .canvas-wrap,html[data-theme="dark"] .space3d-canvas-wrap,html[data-theme="dark"] .canvas-data-panel,html[data-theme="dark"] .canvas-data-content,html[data-theme="dark"] .load-manager-shell{background:#101824!important;color:var(--ink)!important}
html[data-theme="dark"] .load-manager-add,html[data-theme="dark"] .field-grid,html[data-theme="dark"] .factor-grid,html[data-theme="dark"] .auto-combination-settings,html[data-theme="dark"] .saved-model-card,html[data-theme="dark"] .dxf-import-controls{background:#192333!important;border-color:#354156!important;color:var(--ink)!important}
html[data-theme="dark"] dialog{background:#151e2b!important;color:var(--ink)!important;border-color:#303b4e!important}
html[data-theme="dark"] .brand-logo-window img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}
html[data-theme="dark"] .account-tabs{background:#1b2636!important}
html[data-theme="dark"] .account-tab{color:#c5d0df!important}
html[data-theme="dark"] .account-tab.active{background:#26364d!important;color:#fff!important}
html[data-theme="dark"] .plan-card{background:#17243a!important}
html[data-theme="dark"] .theory-hero,html[data-theme="dark"] .theory-main{color:var(--ink)}
html[data-theme="dark"] .control-group,html[data-theme="dark"] .steel-card,html[data-theme="dark"] .analysis-run-panel,html[data-theme="dark"] .spectrum-plot-card,html[data-theme="dark"] .modal-results-panel,html[data-theme="dark"] .saved-model-card,html[data-theme="dark"] .subscription-card,html[data-theme="dark"] .canvas-result-chip,html[data-theme="dark"] .table-wrap,html[data-theme="dark"] .canvas-data-empty{background:#151e2b!important;color:#e7edf7!important;border-color:#303b4e!important}
html[data-theme="dark"] .stage-toolbar,html[data-theme="dark"] .side-tabs,html[data-theme="dark"] .section-head,html[data-theme="dark"] .card-head,html[data-theme="dark"] .canvas-data-head{background:#151e2b!important;color:#dce6f5!important;border-color:#303b4e!important}
html[data-theme="dark"] .pane,html[data-theme="dark"] .canvas-data-content,html[data-theme="dark"] .load-manager-table-wrap{color:#e7edf7!important}
html[data-theme="dark"] .owner-preview-card{background:#151e2b!important;color:#e7edf7!important;border-color:#303b4e!important}
html[data-theme="dark"] .subscription-card.is-active{background:#142b25!important;border-color:#315c4b!important}
html[data-theme="dark"] .scope-pill{background:#142b25!important;color:#8ce0b7!important;border-color:#315c4b!important}
/* Animated, low-contrast engineering atmosphere behind the workspace */
body{position:relative;isolation:isolate;background-color:var(--paper)}
body::before,body::after{content:"";position:fixed;inset:-12%;z-index:-1;pointer-events:none}
body::before{background:radial-gradient(ellipse at 15% 18%,rgba(70,132,225,.12),transparent 38%),radial-gradient(ellipse at 82% 26%,rgba(32,183,153,.10),transparent 34%),radial-gradient(ellipse at 66% 88%,rgba(102,126,234,.09),transparent 39%);background-size:150% 150%;animation:facinax-atmosphere 26s ease-in-out infinite alternate}
body::after{inset:0;background-image:linear-gradient(rgba(78,112,164,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(78,112,164,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse at 50% 36%,#000 0%,transparent 78%);animation:facinax-grid-drift 42s linear infinite}
@keyframes facinax-atmosphere{0%{background-position:0% 20%}100%{background-position:100% 80%}}
@keyframes facinax-grid-drift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(27px,27px,0)}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none!important}}
html[data-theme="dark"] body::before{background:radial-gradient(ellipse at 14% 16%,rgba(31,94,183,.22),transparent 39%),radial-gradient(ellipse at 82% 28%,rgba(13,143,127,.17),transparent 36%),radial-gradient(ellipse at 62% 88%,rgba(77,65,168,.18),transparent 40%);background-size:150% 150%}
html[data-theme="dark"] body::after{background-image:linear-gradient(rgba(112,152,208,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(112,152,208,.055) 1px,transparent 1px);mask-image:radial-gradient(ellipse at 50% 38%,#000 0%,transparent 82%)}

/* Make the 2D drawing surface itself follow the selected theme. */
html[data-theme="dark"] .stage,html[data-theme="dark"] .canvas-wrap{background:#0d1521!important;border-color:#2b394c!important}
html[data-theme="dark"] #canvas{background:#0d1521!important}
html[data-theme="dark"] #canvas>rect:first-of-type{fill:#0d1521!important}
html[data-theme="dark"] .world-grid line{stroke:#243247!important;opacity:.92}
html[data-theme="dark"] .world-axis{stroke:#7387a2!important}
html[data-theme="dark"] .world-origin{fill:#101b2b!important;stroke:#78a0ff!important}
html[data-theme="dark"] .world-axis-label,html[data-theme="dark"] .origin-label{fill:#aab9ce!important;stroke:#0d1521!important}
html[data-theme="dark"] .snap-marker{fill:#142136!important;fill-opacity:.92}
html[data-theme="dark"] .force-value,html[data-theme="dark"] .member-detail-label,html[data-theme="dark"] .local-axis-label,html[data-theme="dark"] .utilization-label{stroke:#0d1521!important}
html[data-theme="dark"] .force-value{fill:#e4ecf7!important}
html[data-theme="dark"] .global-value{fill:#ffb07d!important}
html[data-theme="dark"] .local-value,html[data-theme="dark"] .node-value{fill:#c1d5f4!important}
html[data-theme="dark"] .member-detail-label,html[data-theme="dark"] .member-label,html[data-theme="dark"] .node-label{fill:#d1dced!important}
html[data-theme="dark"] .canvas-result-chip,html[data-theme="dark"] .coordinate-readout,html[data-theme="dark"] .canvas-hint,html[data-theme="dark"] .scale-chip{background:#111c2b!important;color:#dbe6f5!important;border-color:#34445b!important;box-shadow:0 4px 18px #0005}
html[data-theme="dark"] .canvas-result-chip span,html[data-theme="dark"] .coordinate-readout,html[data-theme="dark"] .canvas-hint,html[data-theme="dark"] .scale-chip span{color:#9eafc5!important}
html[data-theme="dark"] .canvas-result-chip b,html[data-theme="dark"] .scale-chip b{color:#e7edf7!important}
html[data-theme="dark"] .canvas-data-panel,html[data-theme="dark"] .canvas-data-content,html[data-theme="dark"] .canvas-data-table,html[data-theme="dark"] .table-add-row,html[data-theme="dark"] .load-table-case-bar{background:#121c2a!important;color:#e2eaf5!important;border-color:#334258!important}
html[data-theme="dark"] .canvas-data-table table,html[data-theme="dark"] .load-manager-table{background:#111a27!important;color:#dce6f5!important}
html[data-theme="dark"] .canvas-data-table th,html[data-theme="dark"] .load-manager-table th{background:#1c293a!important;color:#c4d2e5!important}
html[data-theme="dark"] .canvas-data-table td,html[data-theme="dark"] .load-manager-table td{color:#d1dceb!important}
html[data-theme="dark"] .member-load-note,html[data-theme="dark"] .load-case-type-note,html[data-theme="dark"] .auto-combination-note,html[data-theme="dark"] .notice,html[data-theme="dark"] .mode-animation-controls,html[data-theme="dark"] .steel-member-selection{background:#172334!important;color:#bdcbe0!important;border-color:#35445b!important}
html[data-theme="dark"] .steel-member-selection-head,html[data-theme="dark"] .steel-member-check,html[data-theme="dark"] .mode-animation-controls label,html[data-theme="dark"] .mode-animation-controls output{color:#c4d2e5!important}
html[data-theme="dark"] .ratio-line,html[data-theme="dark"] .ratio-line strong{color:#cbd7e7!important}
html[data-theme="dark"] .ratio-bar{background:#2a3649!important}
html[data-theme="dark"] .status-badge{background:#17392f!important;color:#8ce0b7!important}
html[data-theme="dark"] .status-badge.fail{background:#482526!important;color:#ffaaa4!important}
html[data-theme="dark"] .table-add-row input,html[data-theme="dark"] .table-add-row select,html[data-theme="dark"] .canvas-data-table input,html[data-theme="dark"] .canvas-data-table select{background:#0f1724!important;color:#e2eaf5!important;border-color:#3a4960!important}
html[data-theme="dark"] .analysis-run-details>summary.button,html[data-theme="dark"] .analysis-run-panel{background:#151e2b!important;color:#e2eaf5!important;border-color:#35445b!important}
html[data-theme="dark"] .analysis-run-panel label,html[data-theme="dark"] .analysis-run-panel p{color:#c2cee0!important}
html[data-theme="dark"] .account-page,html[data-theme="dark"] .theory-page,html[data-theme="dark"] .owner-preview-page{background-color:#0d1420!important}
html[data-theme="dark"] .account-footer,html[data-theme="dark"] .legal-footer,html[data-theme="dark"] footer{color:#8798af!important;border-color:#303b4e!important}
html[data-theme="dark"] .theory-page .equation-card,html[data-theme="dark"] .theory-page .formula-card,html[data-theme="dark"] .theory-page .limits-grid article,html[data-theme="dark"] .theory-page .verification-case,html[data-theme="dark"] .theory-page .verification-result-card,html[data-theme="dark"] .theory-page .latex-matrix{background:#151e2b!important;color:#e1eaf6!important;border-color:#34445a!important;box-shadow:0 5px 22px #0003!important}
html[data-theme="dark"] .theory-page .verification-section{background:#101824!important;border-color:#303b4e!important}
html[data-theme="dark"] .theory-page .callout{background:#17263a!important;color:#c5d3e7!important;border-color:#344a67!important}
html[data-theme="dark"] .theory-page .callout b,html[data-theme="dark"] .theory-page .theory-section h2,html[data-theme="dark"] .theory-page .theory-section h3{color:#e1eaf6!important}
html[data-theme="dark"] .theory-page .theory-section p,html[data-theme="dark"] .theory-page .method-steps,html[data-theme="dark"] .theory-page .mass-rules{color:#b7c5d8!important}
html[data-theme="dark"] .theory-page .theory-toc a{color:#b2c2d8!important}
html[data-theme="dark"] .theory-page .theory-toc a:hover,html[data-theme="dark"] .theory-page .theory-toc a.active{background:#1b2b41!important;color:#91b3ff!important;border-left-color:#78a0ff!important}
html[data-theme="dark"] .theory-page .theory-toc a{border-color:#34445a}
html[data-theme="dark"] .space3d-table-wrap table,html[data-theme="dark"] .space3d-table-wrap tbody{background:#111a27!important;color:#dce6f5!important}
html[data-theme="dark"] .space3d-table-wrap td,html[data-theme="dark"] .space3d-table-wrap th{background:#151e2b!important;color:#dce6f5!important;border-color:#303b4e!important}
html[data-theme="dark"] .space3d-table-wrap td input{background:#0f1724!important;color:#e7edf7!important;border-color:#3a465b!important}
html[data-theme="dark"] .support3d{fill:#223249!important;stroke:#9bacbf!important}
html[data-theme="dark"] .node3d{fill:#142238!important;stroke:#81a8ff!important}
html[data-theme="dark"] .label3d{fill:#d2deef!important}
html[data-theme="dark"] .space3d-notice{background:#30291c!important;color:#e4d0a5!important;border-color:#59492b!important}
html[data-theme="dark"] .space3d-notice b{color:#f0ce82!important}
html[data-theme="dark"] .dxf-import-status,html[data-theme="dark"] .auto-combination-warning{color:#bac8db!important}
html[data-theme="dark"] .notice.error{background:#351f24!important;color:#ffaaa4!important;border-color:#67363b!important}
html[data-theme="dark"] .notice.success{background:#17352e!important;color:#8ce0b7!important;border-color:#315e4b!important}
html[data-theme="dark"] .force-jump,html[data-theme="dark"] .load-arrow{filter:brightness(1.18)}
html[data-theme="dark"] .node-dot{fill:#142238!important;stroke:#81a8ff!important}
html[data-theme="dark"] .support-mark{fill:#1c2a3d!important;stroke:#9aabc0!important}
html[data-theme="dark"] .support-base,html[data-theme="dark"] .fixed-hatch{stroke:#a0b0c4!important}
html[data-theme="dark"] .snap-marker{stroke:#81a8ff!important}
html[data-theme="dark"] .extruded-member path{filter:brightness(.62)}
html[data-theme="dark"] .view-actions .small-btn.selected{background:#1b2d46!important;color:#a9c2ff!important;border-color:#496a9c!important}
html[data-theme="dark"] .force-positive{fill:#4b2830!important;stroke:#f08089!important}
html[data-theme="dark"] .force-negative{fill:#1e3150!important;stroke:#79a7ff!important}
html[data-theme="dark"] .plot-empty{background:repeating-linear-gradient(0deg,#111a27,#111a27 48px,#1b2738 49px)!important;color:#a8b8cc!important}
html[data-theme="dark"] .plot svg>line:first-of-type{stroke:#71839c!important}
html[data-theme="dark"] .plot .axis-label,html[data-theme="dark"] .spectrum-plot-card text{fill:#b9c8dc!important}
html[data-theme="dark"] .google-signin{background:#172334!important;color:#e1eaf6!important;border-color:#3b4a60!important}
html[data-theme="dark"] .forgot-password-link,html[data-theme="dark"] .cancel-subscription-link{color:#91b3ff!important}
html[data-theme="dark"] .ratio-bar i{filter:saturate(.9) brightness(1.15)}
html[data-theme="dark"] .load-manager-close{background:#263348!important;color:#dce6f5!important}
html[data-theme="dark"] .load-remove-btn,html[data-theme="dark"] .row-delete3d{color:#ffaaa4!important}
html[data-theme="dark"] .load-manager-note,html[data-theme="dark"] .load-manager-summary,html[data-theme="dark"] .load-manager-add small{color:#a7b6ca!important}
html[data-theme="dark"] .theory-page .theory-tags span{background:#1b2b41!important;border-color:#34445a!important}

/* Dark checkbox card for the shear-deformation option */
html[data-theme="dark"] .shear-option{background:#1b293c!important;color:#e1eaf6!important;border-color:#3b4c64!important}
html[data-theme="dark"] .shear-option b{color:#e1eaf6!important}
html[data-theme="dark"] .shear-option small{color:#aebdd1!important}
html[data-theme="dark"] .shear-option input{accent-color:#78a0ff}
/* Dark-mode contrast and controls refined from user screenshots */
html[data-theme="dark"] .tools .tool,
html[data-theme="dark"] .tools .tool:not(.active),
html[data-theme="dark"] .load-row .icon-btn,
html[data-theme="dark"] .tiny-pill,
html[data-theme="dark"] .tiny-pill.gold,
html[data-theme="dark"] .summary-tile,
html[data-theme="dark"] .snap-control,
html[data-theme="dark"] .scale-control {
  background:#1b2636!important;
  color:#dce6f5!important;
  border-color:#3a4960!important;
}
html[data-theme="dark"] .tools .tool.active {
  background:#203553!important;
  color:#a9c2ff!important;
  border-color:#5876a5!important;
}
html[data-theme="dark"] .summary-tile b,
html[data-theme="dark"] .scale-control output,
html[data-theme="dark"] .snap-control select {
  color:#e7edf7!important;
}
html[data-theme="dark"] .scale-control input[type="range"] {
  accent-color:#8fb0ff!important;
  color-scheme:dark;
}
html[data-theme="dark"] .scale-control input[type="range"]::-webkit-slider-runnable-track {
  background:#35445a;
  border-radius:999px;
}
html[data-theme="dark"] .scale-control input[type="range"]::-moz-range-track {
  background:#35445a;
  border-radius:999px;
}
html[data-theme="dark"] #dispTable tbody td,
html[data-theme="dark"] #reactTable tbody td {
  color:#e1eaf6!important;
  font-weight:500;
  font-variant-numeric:tabular-nums;
}
html[data-theme="dark"] #dispTable thead th,
html[data-theme="dark"] #reactTable thead th {
  color:#dce7f7!important;
  background:#202d40!important;
}
html[data-theme="dark"] #dispTable tbody tr:nth-child(even) td,
html[data-theme="dark"] #reactTable tbody tr:nth-child(even) td {
  background:#182333!important;
}

/* Resizable, larger load table with a flexible rows area */
.load-manager-dialog{width:min(1380px,calc(100vw - 24px));height:min(860px,calc(100vh - 24px));min-width:min(720px,calc(100vw - 24px));min-height:500px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);resize:both;overflow:auto}
.load-manager-shell{height:100%;min-height:0;grid-template-rows:auto auto minmax(140px,1fr) auto auto}
.load-manager-table-wrap{height:100%;min-height:140px;max-height:none}
.load-manager-table{min-width:940px}
.load-manager-dialog .load-manager-search input{min-width:300px}
.load-manager-dialog .load-manager-search input::placeholder{color:#8290a3}
@media(max-width:740px){.load-manager-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px);min-width:0;min-height:0;resize:none}.load-manager-shell{padding:14px}.load-manager-table-wrap{max-height:42vh}.load-manager-table{min-width:780px}.load-manager-dialog .load-manager-search input{min-width:0}}

/* Compact slash-separated batch editor in the member schedule popup. */
.member-command-panel{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(280px,1.5fr) auto;gap:10px 14px;align-items:end;margin:12px 0;padding:14px 16px;border:1px solid #dce5f1;border-radius:9px;background:#f5f8fd}
.member-command-panel h3{margin:4px 0;font-size:16px}
.member-command-panel p{margin:0;color:#77869b;font-size:11px}
.member-command-kicker{font:600 9px 'DM Mono';letter-spacing:.13em;color:#3c68bd}
.member-command-input{display:grid;gap:5px;color:#60718b;font-size:10px;font-weight:650}
.member-command-input input{min-width:0;width:100%;height:38px;padding:0 11px;border:1px solid #cbd8e9;border-radius:6px;background:#fff;color:#263852;font:12px 'DM Mono'}
.member-command-help{grid-column:1/-1;display:grid;gap:4px;padding-top:9px;border-top:1px solid #dfe7f2;color:#61728b;font-size:10px}
.member-command-help b{color:#344966}
.member-command-help small{font-size:10px;line-height:1.6}
.member-command-help code{color:#244fa7;font:10px 'DM Mono'}
.member-command-status{grid-column:1/-1;min-height:0;color:#18724e;font-size:11px}
.member-command-status:empty{display:none}
.member-command-status.is-error{color:#b44242}
html[data-theme="dark"] .member-command-panel{background:#111c2b;border-color:#34445e}
html[data-theme="dark"] .member-command-panel p,html[data-theme="dark"] .member-command-help{color:#aab8cc}
html[data-theme="dark"] .member-command-kicker{color:#8fb1ff}
html[data-theme="dark"] .member-command-input{color:#b8c6da}
html[data-theme="dark"] .member-command-input input{background:#0c1524;border-color:#40516b;color:#e3ebf7}
html[data-theme="dark"] .member-command-help{border-color:#34445e}
html[data-theme="dark"] .member-command-help b,html[data-theme="dark"] .member-command-help code{color:#a9c3ff}
html[data-theme="dark"] .member-command-status{color:#83d3a8}
html[data-theme="dark"] .member-command-status.is-error{color:#ff9c9c}
@media(max-width:760px){.member-command-panel{grid-template-columns:1fr}.member-command-help,.member-command-status{grid-column:1}}


.save-overwrite-dialog{width:min(440px,calc(100vw - 28px));padding:0;border:1px solid #dce5f0;border-radius:16px;background:#fff;color:#243752;box-shadow:0 24px 80px #15284455}
.save-overwrite-dialog::backdrop{background:#13254180;backdrop-filter:blur(3px)}
.save-overwrite-content{padding:24px}
.save-overwrite-kicker{font:700 9px 'DM Mono',monospace;letter-spacing:.16em;color:#4265a3}
.save-overwrite-content h2{margin:8px 0;color:#1c2f4b;font:700 21px Manrope,Arial,sans-serif}
.save-overwrite-content p{margin:0;color:#667891;font-size:13px;line-height:1.65}
.save-overwrite-content p strong{color:#263c5c;overflow-wrap:anywhere}
.save-overwrite-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
.save-overwrite-actions .button{min-width:105px;min-height:40px}
html[data-theme="dark"] .save-overwrite-dialog{background:#151e2b;color:#e7edf7;border-color:#303b4e}
html[data-theme="dark"] .save-overwrite-content h2{color:#e7edf7}
html[data-theme="dark"] .save-overwrite-content p{color:#aebbd0}
html[data-theme="dark"] .save-overwrite-content p strong{color:#f1f5fb}
html[data-theme="dark"] .save-overwrite-actions .button.ghost{background:#1b2a40;color:#dce8ff;border-color:#405473}

/* Section colors and quick-save control shown in the model canvas. */
.member-section-legend{position:absolute;left:14px;bottom:14px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;max-width:min(72%,700px);padding:8px 10px;border:1px solid #dbe3ed;border-radius:7px;background:rgba(255,255,255,.94);color:#40516a;font-size:10px;box-shadow:0 4px 16px #17253a16;backdrop-filter:blur(8px);pointer-events:none}
.member-section-legend[hidden]{display:none}
.member-section-legend-title{font:700 8px 'DM Mono';letter-spacing:.1em;color:#77869c;margin-right:2px}
.member-section-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.member-section-legend>span i{display:inline-block;width:16px;height:4px;border-radius:3px}
.small-btn.save-model-canvas{background:#e8f7ef;color:#14764e;border-color:#b8e2cb;font-weight:750}
.small-btn.save-model-canvas:hover{background:#d8f0e3;border-color:#7bc69c;color:#0c5c3c}
html[data-theme="dark"] .member-section-legend{background:rgba(17,28,43,.96);color:#e0e9f6;border-color:#40516a;box-shadow:0 4px 18px #0007}
html[data-theme="dark"] .member-section-legend-title{color:#a6b8d0}
html[data-theme="dark"] .small-btn.save-model-canvas{background:#17392f!important;color:#91e0b9!important;border-color:#30684f!important}
html[data-theme="dark"] .small-btn.save-model-canvas:hover{background:#1d4a3a!important}
@media(max-width:700px){.member-section-legend{left:8px;bottom:8px;max-width:calc(100% - 16px);gap:6px 9px;padding:7px 8px;font-size:9px}}
/* Full-screen model canvas visualization */
.stage:fullscreen,.stage:-webkit-full-screen{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;min-height:0;margin:0;border:0;border-radius:0;background:var(--white);display:flex;flex-direction:column;overflow:hidden;position:relative;top:0;z-index:2147483000}
.stage:fullscreen .stage-toolbar,.stage:-webkit-full-screen .stage-toolbar{height:auto;min-height:53px;max-height:32vh;overflow:auto;flex:0 0 auto;align-items:flex-start;gap:12px;padding:12px 16px}
.stage:fullscreen .stage-title,.stage:-webkit-full-screen .stage-title{position:sticky;left:0;flex:0 0 auto;padding-top:7px}
.stage:fullscreen .view-actions,.stage:-webkit-full-screen .view-actions{flex-wrap:wrap;justify-content:flex-start;max-width:none}
.stage:fullscreen .canvas-wrap,.stage:-webkit-full-screen .canvas-wrap{height:auto;min-height:0;flex:1 1 auto;overflow:hidden}
.stage:fullscreen #canvas,.stage:-webkit-full-screen #canvas{width:100%;height:100%;min-height:0}
.stage:fullscreen .legend,.stage:-webkit-full-screen .legend{flex:0 0 auto;flex-wrap:wrap;max-height:15vh;overflow:auto}
#canvasFullscreenBtn{white-space:nowrap}
/* Member-by-member result contour overlay, independent from force and deformed diagrams */
.canvas-contour-segment{stroke-width:7;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.96;pointer-events:none}
.canvas-contour-control{gap:6px}
.canvas-contour-control select{max-width:138px}
.canvas-contour-legend{position:absolute;left:14px;bottom:62px;z-index:5;width:min(290px,calc(100% - 28px));padding:9px 11px;border:1px solid #d5dfec;border-radius:7px;background:rgba(255,255,255,.96);color:#263751;box-shadow:0 4px 18px #17253a1c;backdrop-filter:blur(8px);pointer-events:none;font:10px 'DM Mono',monospace}
.canvas-contour-legend[hidden]{display:none}
.canvas-contour-title{margin-bottom:7px;font-weight:700;letter-spacing:.02em}
.canvas-contour-gradient{height:9px;border:1px solid #aeb9c9;border-radius:8px}
.canvas-contour-range{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#53647d;font-size:9px;font-variant-numeric:tabular-nums}
html[data-theme="dark"] .canvas-contour-legend{background:rgba(17,28,43,.97);color:#e1eaf6;border-color:#40516a;box-shadow:0 4px 18px #0007}
html[data-theme="dark"] .canvas-contour-range{color:#b8c7dc}
@media(max-width:700px){.canvas-contour-legend{left:8px;bottom:58px;width:min(280px,calc(100% - 16px));padding:7px 9px}.canvas-contour-control select{max-width:115px}}
/* Analysis selection is docked directly below the canvas toolbar. */
.canvas-analysis-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid #e9edf2;background:#f8fafd}
.canvas-analysis-controls .result-run-controls{display:flex;align-items:flex-end;gap:9px;flex-wrap:wrap;margin:0;width:100%}
.canvas-analysis-controls .result-run-controls>label{display:grid;gap:4px;color:#53647b;font-size:10px;font-weight:700}
.canvas-analysis-controls .result-run-controls>label select{height:36px;min-width:180px;max-width:230px;border:1px solid #dce4ef;border-radius:6px;background:#fff;color:#31415a;padding:0 10px;font-size:11px}
.canvas-analysis-controls .analysis-run-button{height:36px;margin:0;padding:0 15px}
.canvas-analysis-controls .analysis-run-details{position:relative}
.canvas-analysis-controls .analysis-run-details>summary{height:36px;display:flex;align-items:center;gap:12px}
html[data-theme="dark"] .canvas-analysis-controls{background:#111b2a;border-color:#303d51}
html[data-theme="dark"] .canvas-analysis-controls .result-run-controls>label{color:#c5d2e4}
html[data-theme="dark"] .canvas-analysis-controls .result-run-controls>label select{background:#111a28;color:#e5edf8;border-color:#3a4a62}
@media(max-width:700px){.canvas-analysis-controls .result-run-controls{align-items:stretch}.canvas-analysis-controls .result-run-controls>label,.canvas-analysis-controls .result-run-controls>label select{width:100%;max-width:none}.canvas-analysis-controls .analysis-run-button{width:100%}.canvas-analysis-controls .analysis-run-details{flex:1 1 100%}}


/* Modal mode selection and animation are operated directly from the model canvas. */
.canvas-mode-controls{position:absolute;z-index:4;right:14px;top:68px;display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;max-width:min(560px,calc(100% - 28px));padding:9px 11px;border:1px solid #d8e2f1;border-radius:8px;background:#fffffff2;box-shadow:0 4px 16px #17253a18;color:#53627a;font-size:10px}
.canvas-mode-controls[hidden]{display:none!important}
.canvas-mode-controls>label{display:grid;gap:4px;font-weight:700}
.canvas-mode-controls select{height:32px;min-width:180px;max-width:260px;padding:0 8px;border:1px solid #d7e1ee;border-radius:5px;background:#fff;color:#31415a;font-size:10px}
.canvas-mode-controls .button{height:32px;padding:0 10px;font-size:10px}
.canvas-mode-controls .canvas-mode-speed{grid-template-columns:auto auto;align-items:center;gap:3px 7px}
.canvas-mode-controls .canvas-mode-speed input{grid-column:1/-1;width:120px;accent-color:#2862e3}
.canvas-mode-controls output{font:600 9px 'DM Mono';color:#2b5fc4}
html[data-theme="dark"] .canvas-mode-controls{background:#111c2bF2;color:#dce6f5;border-color:#34445b;box-shadow:0 4px 18px #0007}
html[data-theme="dark"] .canvas-mode-controls select{background:#0f1825;color:#e7edf7;border-color:#3a4b63}
html[data-theme="dark"] .canvas-mode-controls .button{background:#1b293c;color:#dce6f5;border-color:#3a4b63}
html[data-theme="dark"] .canvas-mode-controls output{color:#8db0ff}
@media(max-width:650px){.canvas-mode-controls{left:10px;right:10px;top:78px;max-width:none;gap:6px}.canvas-mode-controls select{min-width:135px;max-width:190px}.canvas-mode-controls .canvas-mode-speed input{width:90px}}

/* Login showcase: responsive structural artwork beside the member access form. */
.account-shell{width:min(100%,1240px);max-width:none;min-height:100vh;margin:0 auto;padding:30px 28px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);grid-template-rows:auto 1fr auto;align-items:center;column-gap:clamp(28px,5vw,72px);row-gap:20px}
.account-header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;min-height:54px}
.account-header .account-brand{margin:0}
.account-header .account-theme-toggle{position:static}
.account-showcase{grid-column:1;grid-row:2;min-width:0;align-self:center;padding:12px 0 20px}
.account-showcase h2{font:700 clamp(30px,3.4vw,45px)/1.08 Manrope,sans-serif;letter-spacing:-.05em;margin:12px 0;color:var(--ink)}
.account-showcase h2 em{color:#3268df;font-style:normal}
.account-showcase>p:not(.account-art-note){max-width:520px;color:var(--muted);font-size:14px;line-height:1.7;margin:0 0 19px}
.account-structure-art{display:block;width:100%;height:auto;max-height:490px;filter:drop-shadow(0 18px 40px #17253a10)}
.art-panel{fill:#fff;stroke:#dce5f0;stroke-width:1.5}
.art-grid{stroke:#d9e4f1;opacity:.65}
.art-wash-a{stop-color:#eaf1ff;stop-opacity:.78}.art-wash-b{stop-color:#f3fbf7;stop-opacity:.42}
.art-ground{stroke:#b7c6da;stroke-width:1.5;stroke-dasharray:4 7}
.art-chord{stroke:#4976c0;stroke-width:4}.art-web{stroke:#6f8fb9;stroke-width:2.5}.art-deck{stroke:#315ea7;stroke-width:5}.art-deformed{stroke:#e66e75;stroke-width:3;stroke-dasharray:8 7}.art-pier{stroke:#8294ac;stroke-width:3}.art-support{stroke:#8294ac;stroke-width:2}.art-nodes circle{fill:#fff;stroke:#4e7bca;stroke-width:2.5}
.art-label text,.art-title{font:600 10px 'DM Mono',monospace;letter-spacing:.1em;fill:#70819a}.art-card{fill:#ffffffd9;stroke:#dce5f0;stroke-width:1.2}.art-frame{fill:none;stroke:#7690b6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.art-highlight{fill:none;stroke:#4e7be0;stroke-width:2.5;stroke-dasharray:5 5}.art-joint{fill:#fff;stroke:#4e7be0;stroke-width:2}.art-plot-force{fill:none;stroke:url(#forceStroke);stroke-width:3.3;stroke-linecap:round}.art-plot-mode{fill:none;stroke:#ac78d4;stroke-width:2.7;stroke-dasharray:6 5;stroke-linecap:round}.art-plot-grid{fill:none;stroke:#dfe7f1;stroke-width:1;stroke-dasharray:3 5}.art-plot-point{fill:#ffad58;stroke:#fff;stroke-width:2}.art-caption{font:500 8px 'DM Mono',monospace;letter-spacing:.06em;fill:#8391a5}
.account-art-note{margin:8px 0 0;color:#8997aa;font-size:10px;line-height:1.5}
.account-card{grid-column:2;grid-row:2;width:100%;align-self:center;box-shadow:0 22px 70px #17253a18}
.account-footer{grid-column:1/-1;margin:0}
html[data-theme="dark"] .account-showcase h2{color:#e8effb}
html[data-theme="dark"] .account-showcase h2 em{color:#83a9ff}
html[data-theme="dark"] .account-showcase>p:not(.account-art-note){color:#afbdd1}
html[data-theme="dark"] .account-art-note{color:#8799b2}
html[data-theme="dark"] .account-structure-art{filter:drop-shadow(0 18px 40px #0005)}
html[data-theme="dark"] .art-panel{fill:#121d2b;stroke:#34455d}
html[data-theme="dark"] .art-grid{stroke:#2c3b50;opacity:.75}
html[data-theme="dark"] .art-wash-a{stop-color:#1f3555;stop-opacity:.56}html[data-theme="dark"] .art-wash-b{stop-color:#15382f;stop-opacity:.3}
html[data-theme="dark"] .art-ground,html[data-theme="dark"] .art-pier,html[data-theme="dark"] .art-support{stroke:#667b98}
html[data-theme="dark"] .art-chord{stroke:#83aaff}html[data-theme="dark"] .art-web{stroke:#7088a9}html[data-theme="dark"] .art-deck{stroke:#72a0ff}html[data-theme="dark"] .art-deformed{stroke:#ff8990}
html[data-theme="dark"] .art-nodes circle{fill:#132238;stroke:#92b3ff}
html[data-theme="dark"] .art-label text,html[data-theme="dark"] .art-title,html[data-theme="dark"] .art-caption{fill:#aabbd2}
html[data-theme="dark"] .art-card{fill:#172334ed;stroke:#35475f}
html[data-theme="dark"] .art-frame{stroke:#91a9cf}html[data-theme="dark"] .art-highlight{stroke:#88aaff}html[data-theme="dark"] .art-joint{fill:#142238;stroke:#9bb8ff}html[data-theme="dark"] .art-plot-grid{stroke:#33445b}html[data-theme="dark"] .art-plot-point{stroke:#172334}
@media(max-width:900px){.account-shell{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);column-gap:24px;padding:24px 20px}.account-showcase h2{font-size:clamp(28px,4vw,38px)}.account-structure-art{max-height:none}}
@media(max-width:700px){.account-shell{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px 22px}.account-header{width:100%;min-height:48px}.account-showcase{padding:8px 0 0}.account-showcase h2{font-size:28px;margin:8px 0}.account-showcase>p:not(.account-art-note){font-size:12px;margin-bottom:10px}.account-structure-art{max-height:245px}.account-art-note{font-size:9px;margin-top:2px}.account-card{margin:0}.account-footer{width:100%}}
.account-structure-art-light{display:none}
html[data-theme="dark"] .account-structure-art-dark{display:block}
html[data-theme="dark"] .account-structure-art-light{display:none}
html[data-theme="light"] .account-structure-art-dark{display:none}
html[data-theme="light"] .account-structure-art-light{display:block}

/* Dark account-page starfield and slowly drifting ambient light. */
html[data-theme="dark"] .account-page{position:relative;isolation:isolate;overflow-x:hidden;background:linear-gradient(145deg,#08111f 0%,#0c1728 48%,#10172a 100%)!important}
html[data-theme="dark"] .account-page::before,html[data-theme="dark"] .account-page::after{content:"";position:fixed;inset:-12%;pointer-events:none;z-index:0}
html[data-theme="dark"] .account-page::before{opacity:.58;background-image:radial-gradient(1.5px 1.5px at 7% 16%,#c8dcff 45%,transparent 70%),radial-gradient(1px 1px at 19% 73%,#9fc2ff 45%,transparent 70%),radial-gradient(1.5px 1.5px at 31% 38%,#fff 45%,transparent 70%),radial-gradient(1px 1px at 44% 87%,#b8d1ff 45%,transparent 70%),radial-gradient(1.5px 1.5px at 59% 19%,#d9e7ff 45%,transparent 70%),radial-gradient(1px 1px at 68% 62%,#a9c5ff 45%,transparent 70%),radial-gradient(1.5px 1.5px at 82% 31%,#fff 45%,transparent 70%),radial-gradient(1px 1px at 93% 78%,#b9d4ff 45%,transparent 70%);background-size:310px 260px;animation:account-stars-drift 90s linear infinite}
html[data-theme="dark"] .account-page::after{opacity:.92;background:radial-gradient(ellipse at 12% 22%,#3986ff55 0,transparent 27%),radial-gradient(ellipse at 35% 72%,#24d5e044 0,transparent 24%),radial-gradient(ellipse at 66% 18%,#9a5cff48 0,transparent 26%),radial-gradient(ellipse at 88% 42%,#36a2ff4d 0,transparent 25%),radial-gradient(ellipse at 76% 86%,#13c9ae3d 0,transparent 27%),radial-gradient(ellipse at 48% 44%,#477bff24 0,transparent 32%);filter:blur(18px);animation:account-light-drift 18s ease-in-out infinite alternate}
html[data-theme="dark"] .account-shell{position:relative;z-index:1}
@keyframes account-stars-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-2%,1.5%,0)}}
@keyframes account-light-drift{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1.5%,-1%,0) scale(1.06)}}
@media(prefers-reduced-motion:reduce){html[data-theme="dark"] .account-page::before,html[data-theme="dark"] .account-page::after{animation:none}}
@keyframes account-stars-twinkle{0%,100%{opacity:.72}50%{opacity:1}}
html[data-theme="dark"] .account-page::before{animation:account-stars-drift 90s linear infinite,account-stars-twinkle 4.5s ease-in-out infinite}
/* Light-mode atmospheric backdrop: soft color wash, fine drafting grid, gentle drift. */
html[data-theme="light"] .account-page{position:relative;isolation:isolate;overflow-x:hidden;background:linear-gradient(135deg,#f8fbff 0%,#f1f5fc 48%,#f8f7ff 100%)!important}
html[data-theme="light"] .account-page::before,html[data-theme="light"] .account-page::after{content:"";position:fixed;inset:-12%;pointer-events:none;z-index:0}
html[data-theme="light"] .account-page::before{opacity:.43;background-image:linear-gradient(#8eacd51a 1px,transparent 1px),linear-gradient(90deg,#8eacd51a 1px,transparent 1px),radial-gradient(ellipse at 14% 20%,#8db9ff46 0,transparent 32%),radial-gradient(ellipse at 83% 30%,#c4a5ff36 0,transparent 30%),radial-gradient(ellipse at 55% 88%,#70d6d033 0,transparent 34%);background-size:44px 44px,44px 44px,auto,auto,auto;animation:account-light-drift 32s ease-in-out infinite alternate}
html[data-theme="light"] .account-page::after{opacity:.5;background:radial-gradient(circle at 18% 67%,#64a5ff20 0,transparent 16%),radial-gradient(circle at 73% 72%,#8b79e91c 0,transparent 19%),radial-gradient(circle at 90% 13%,#61cbbb1a 0,transparent 17%);filter:blur(20px);animation:account-light-drift 24s ease-in-out infinite alternate-reverse}
html[data-theme="light"] .account-shell{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){html[data-theme="light"] .account-page::before,html[data-theme="light"] .account-page::after{animation:none}}
/* More visible motion in dark mode: stars travel across the tiled sky, lights float and breathe. */
html[data-theme="dark"] .account-page::before{animation:account-stars-travel 72s linear infinite,account-stars-twinkle 4.5s ease-in-out infinite}
html[data-theme="dark"] .account-page::after{animation:account-lights-float 16s ease-in-out infinite alternate,account-lights-breathe 8s ease-in-out infinite alternate}
@keyframes account-stars-travel{from{background-position:0 0}to{background-position:310px 260px}}
@keyframes account-lights-float{from{transform:translate3d(-2%,-1%,0) scale(.98)}to{transform:translate3d(2%,1.5%,0) scale(1.08)}}
@keyframes account-lights-breathe{from{opacity:.62}to{opacity:1}}
/* Blend the light artwork and supplied white-backed logo into the same page wash. */
html[data-theme="light"] .account-brand .brand-logo-window{background:transparent}
html[data-theme="light"] .account-brand .brand-logo-window img,html[data-theme="light"] .account-structure-art-light{mix-blend-mode:multiply}
/* Let light artwork blend against the page backdrop instead of an isolated shell layer. */
html[data-theme="light"] .account-page::before,html[data-theme="light"] .account-page::after{z-index:-1}
html[data-theme="light"] .account-shell{z-index:auto}

/* The drawing surface grows with model proportions and model detail. */
.stage{position:relative;top:auto;height:auto;min-height:0;max-height:none;min-width:0;align-self:start}
.stage .canvas-wrap{flex:0 0 auto;height:var(--model-canvas-height,620px);min-height:0;overflow:auto;max-width:100%}
.stage #canvas{width:var(--model-canvas-width,100%);min-width:100%;height:var(--model-canvas-height,620px);min-height:0;max-width:none}
.stage:fullscreen .canvas-wrap,.stage:-webkit-full-screen .canvas-wrap{height:auto;flex:1 1 auto;min-height:0;overflow:hidden}
.stage:fullscreen #canvas,.stage:-webkit-full-screen #canvas{width:100%;height:100%;min-width:0}

/* Elastic supports and connectivity controls. */
.model-feature-panel{padding-bottom:10px;border-bottom:1px solid var(--line)}
.model-feature-panel .saved-model-actions{flex-wrap:wrap;margin-top:12px}
.feature-check{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:var(--ink)}
.feature-check input{margin-top:3px;accent-color:var(--blue)}
.spring-support-list{display:grid;gap:6px;margin-top:10px}
.spring-summary{display:grid;gap:3px;grid-template-columns:auto 1fr;column-gap:8px;width:100%;text-align:left;padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);font-size:10px}
.spring-summary b{grid-row:1/3;align-self:center;color:var(--blue)}
.spring-support-symbol{fill:none;stroke:#9865d2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;cursor:pointer}
.spring-support-symbol:hover,.spring-support-symbol:focus{stroke:#6b35ad;stroke-width:3;outline:none}
html[data-theme="dark"] .spring-support-symbol{stroke:#c4a3ff}
.subdivide-options{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:6px}
.subdivide-options summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--ink)}
.subdivide-options input,.subdivide-options select{max-width:100%;height:32px;border:1px solid var(--line);border-radius:5px;padding:4px 7px;background:var(--white);color:var(--ink)}
.spring-boundary-table{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
.spring-boundary-table h3{font-size:12px}
#modelFeatureStatus{overflow-wrap:anywhere}

/* Design groups and direct selection tools. */
[hidden]{display:none!important}
.selection-panel{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}
.selection-panel>b{font-size:12px;color:var(--ink)}
.selection-panel button{margin:8px 4px 0 0;font-size:10px}
.selection-panel select,.design-member-group input,#steelIncludedText{width:100%;height:34px;padding:5px 8px;border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--ink)}
.selected-node{fill:#f4b444!important;stroke:#bf6c00!important;stroke-width:2.4!important;r:5px}
.utilization-label{font-size:12px;font-weight:800;fill:#163d34;stroke:#fff;stroke-width:3px;paint-order:stroke fill;stroke-linejoin:round}
html[data-theme="dark"] .utilization-label{fill:#e7fff5!important;stroke:#0d1521!important;stroke-width:3px;paint-order:stroke fill}
.utilization-legend{z-index:5;min-width:250px;pointer-events:none}
.load-command-panel{padding:12px;border-bottom:1px solid var(--line);background:var(--paper)}
.load-command-panel>label{display:block;font-size:12px;font-weight:700;color:var(--ink)}
.load-command-panel input{display:block;width:100%;margin:7px 0;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink)}
.mode-controls-drag-handle{flex:0 0 100%;cursor:grab;touch-action:none;user-select:none;padding:3px 6px;color:var(--muted);font-size:10px;font-weight:700}
.mode-controls-drag-handle:active{cursor:grabbing}
.mode-controls-drag-handle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.canvas-mode-controls{flex-wrap:wrap;max-width:calc(100% - 20px)}
#analysisConnectivityWarning{margin:8px 12px;color:#916018;background:#fff5de;border-color:#ebcc93}
html[data-theme="dark"] #analysisConnectivityWarning{color:#ffe0a3;background:#3c3020;border-color:#6d5635}
.model-history-status{font-size:10px;color:var(--muted);max-width:240px;overflow-wrap:anywhere}

.canvas-mode-controls{max-height:calc(100% - 16px);overflow:auto}

/* Let all model-table dialogs use the full downward space of their window. */
.load-manager-dialog{height:min(1100px,calc(100dvh - 24px));max-height:calc(100dvh - 16px);overflow:hidden}
.load-manager-dialog .load-manager-shell{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
.load-manager-dialog .load-manager-header{flex:0 0 auto}
#loadPopupLoadBody,#loadPopupModelBody{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:12px;overflow:auto}
#loadPopupModelBody>.member-command-panel,#loadPopupModelBody>.table-add-row,#loadPopupModelBody>.schedule-note,#loadPopupLoadBody>.load-manager-filters,#loadPopupLoadBody>.load-command-panel,#loadPopupLoadBody>.load-manager-note,#loadPopupLoadBody>.load-manager-add{flex:0 0 auto}
#loadPopupModelBody>.table-wrap,#loadPopupModelBody .canvas-data-content>.table-wrap,#loadPopupLoadBody>.load-manager-table-wrap{flex:1 1 auto;height:auto;min-height:180px;max-height:none;overflow:auto}
#loadPopupModelBody .canvas-data-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:none;overflow:visible}
#loadPopupModelBody th,#loadPopupLoadBody .load-manager-table th{position:sticky;top:0;z-index:2}
@media(max-width:740px){.load-manager-dialog{height:calc(100dvh - 16px)}#loadPopupModelBody>.table-wrap,#loadPopupLoadBody>.load-manager-table-wrap{min-height:180px;max-height:none}}

/* Staged member design dialogs leave the model and analysis workspace intact. */
.member-design-dialog{width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid var(--line,#34445e);border-radius:14px;background:var(--panel,#fff);color:var(--ink,#172238);box-shadow:0 20px 70px #0005}.member-design-dialog::backdrop{background:#06101f88}.member-design-dialog header,.member-design-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.member-design-dialog header{margin-bottom:14px}.member-design-dialog h2{font-size:18px;margin:0;overflow-wrap:anywhere}.member-design-dialog h3{font-size:15px}.member-design-dialog header button{font-size:25px;border:0;background:transparent;color:inherit;cursor:pointer}.member-design-dialog label{display:flex;flex-direction:column;gap:7px;margin:14px 0;font-size:13px}.member-design-dialog .design-check-toggle{flex-direction:row;align-items:center;font-weight:600;gap:12px}.member-design-dialog input[type=checkbox]{width:18px;height:18px;flex:0 0 18px}.member-design-dialog input:not([type=checkbox]),.member-design-dialog select{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid var(--line,#34445e);border-radius:7px;background:var(--input-bg,#f7f9fc);color:inherit;font:inherit}.member-design-dialog .field-grid{gap:14px}.member-design-dialog footer{position:sticky;bottom:-24px;background:inherit;padding:16px 0 8px;margin-top:12px}.design-assignments{margin:20px 0}.design-assignments .hint{margin:6px 0 16px}.member-design-dialog .hint{line-height:1.65}.member-design-dialog .notice:empty{display:none}html[data-theme=dark] .member-design-dialog{background:#152131;color:#e1e8f2}html[data-theme=dark] .member-design-dialog input:not([type=checkbox]),html[data-theme=dark] .member-design-dialog select{background:#0e1725;border-color:#35455e} @media(max-width:500px){.member-design-dialog{padding:16px}.member-design-dialog .field-grid{grid-template-columns:1fr}.member-design-dialog footer{bottom:-16px}}

.member-design-dialog input:not([type=checkbox]),.member-design-dialog select{height:auto;min-height:42px;line-height:1.4}.member-design-dialog select[multiple]{height:180px}.member-design-dialog .hint{font-size:12px}.member-design-dialog .field-grid label{margin-top:6px}

/* Program 3: compact, collapsible Model inputs without changing form IDs. */
.model-input-section{margin:14px 0;border:1px solid var(--line,#dce3ed);border-radius:9px;overflow:hidden;background:var(--white,#fff)}.model-input-section>summary{cursor:pointer;font-weight:700;font-size:12px;padding:14px 12px;list-style:revert;user-select:none}.model-input-section>summary:focus-visible{outline:2px solid var(--blue,#315fe9);outline-offset:-3px}.model-input-section-body{padding:0 12px 14px}.model-input-section .control-group{margin:0 0 12px}.model-input-section .section-head{margin-top:14px}.model-input-section .tools{margin-top:6px}.model-input-section .selection-panel{margin-bottom:14px}.node-support-dialog .spring-support-list{display:none}.node-support-dialog .spring-support-list:empty{display:none}.node-support-dialog .saved-model-actions{display:flex}.node-support-dialog .model-feature-panel{border:0;padding:0}.node-support-dialog footer{justify-content:flex-end}.node-support-dialog .spring-support-list button{max-width:100%}

.model-input-section>summary .tiny-pill{float:right;margin-left:8px}.model-input-section-body>#clearModel{display:block;margin:0 0 12px auto}

.fea-report-dialog fieldset{border:1px solid var(--line,#d6e0e9);border-radius:8px;margin:18px 0;padding:10px 14px}.fea-report-dialog legend{font-size:12px;font-weight:700}.fea-report-dialog textarea{width:100%;box-sizing:border-box;padding:10px;font:inherit;border:1px solid var(--line,#d6e0e9);border-radius:7px;resize:vertical}.fea-report-dialog .design-check-toggle{font-weight:500}

.result-check{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.45}
.result-check.clean{background:#e8f6f0;color:#0d6b50;border-color:#b9e2d2}
.result-check.has-warnings{background:#fdf4e3;color:#8a5a0b;border-color:#f0d9a8}
.result-check.has-errors{background:#fdeceb;color:#a3262f;border-color:#f1bcc0}
.result-check ul{margin:6px 0 0;padding-left:18px}.result-check p{margin:4px 0 0}.result-check .check-equilibrium{opacity:.85}
html[data-theme="dark"] .result-check.clean{background:#17352e;color:#8ce0b7;border-color:#315e4b}
html[data-theme="dark"] .result-check.has-warnings{background:#3a2f17;color:#f0c878;border-color:#67542b}
html[data-theme="dark"] .result-check.has-errors{background:#351f24;color:#ffaaa4;border-color:#67363b}

.help-bar{display:flex;justify-content:flex-end;gap:8px;padding:8px 28px 0}
.help-bar-btn{font-size:12px;padding:7px 14px;min-height:34px}
.help-dialog{width:min(820px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line,#dce5f0);border-radius:16px;background:#fff;color:#243752;box-shadow:0 26px 90px #15284440;overflow:hidden}
.help-dialog[open]{display:flex;flex-direction:column}.help-dialog form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 40px)}
.help-dialog::backdrop{background:#10203866}
.help-dialog>header,.help-dialog form>header{display:flex;justify-content:space-between;gap:16px;padding:20px 24px 14px;border-bottom:1px solid #e4eaf2}
.help-dialog h2{margin:4px 0 4px;font-size:22px}.help-dialog header p{margin:0;font-size:13px;color:#65748c}
.help-close{border:0;background:#eef2f8;border-radius:8px;width:34px;height:34px;cursor:pointer;color:#364b67;font-size:15px;flex:none}
.help-body{padding:16px 24px;overflow:auto;flex:1 1 auto;min-height:0}
.help-dialog footer,.help-dialog form>footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 24px;border-top:1px solid #e4eaf2}
.help-body .stack-label{display:grid;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600}.help-body textarea,.help-body select{width:100%;font:inherit;font-weight:400;padding:9px 10px;border:1px solid #dce4ef;border-radius:8px;background:#fff;color:#243752}
.guide-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.guide-toc a{padding:6px 12px;border-radius:999px;background:#eef3fb;color:#2463eb;font-size:12px;font-weight:600;text-decoration:none}
.guide-section{padding:14px 0;border-bottom:1px solid #edf1f6;scroll-margin-top:8px}.guide-section:last-child{border-bottom:0}
.guide-section h3{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:17px}.guide-section h3 b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2463eb;color:#fff;font-size:13px}
.guide-section p,.guide-section li{font-size:13px;line-height:1.55}.guide-section ul,.guide-section ol{margin:6px 0 0;padding-left:20px}.guide-section li{margin:5px 0}
.guide-note{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:#f1f6ff;color:#3a5278}
html[data-theme="dark"] .help-dialog{background:#111a27;color:#dce6f5;border-color:#2b3a50}
html[data-theme="dark"] .help-dialog>header,html[data-theme="dark"] .help-dialog form>header,html[data-theme="dark"] .help-dialog footer,html[data-theme="dark"] .help-dialog form>footer,html[data-theme="dark"] .guide-section{border-color:#2b3a50}
html[data-theme="dark"] .help-dialog header p{color:#a7b6ca}html[data-theme="dark"] .help-close{background:#263348;color:#dce6f5}
html[data-theme="dark"] .help-body textarea,html[data-theme="dark"] .help-body select{background:#0c1420;color:#dce6f5;border-color:#34445e}
html[data-theme="dark"] .guide-toc a{background:#1c293a;color:#8db4ff}html[data-theme="dark"] .guide-note{background:#16233a;color:#b8c9e6}
@media (max-width:700px){.help-bar{padding:8px 14px 0}}
