:root{--blue: #1d4ed8;--blue-dark: #1e3a8a;--blue-light: #dbeafe;--green: #15803d;--green-dark: #14532d;--red: #dc2626;--red-light: #fee2e2;--amber: #b45309;--amber-light: #fef3c7;--grey-900: #111827;--grey-700: #374151;--grey-500: #6b7280;--grey-300: #d1d5db;--grey-200: #e5e7eb;--grey-100: #f3f4f6;--grey-50: #f9fafb;--white: #ffffff;--radius: 6px;--shadow: 0 1px 2px rgba(17, 24, 39, .08), 0 1px 3px rgba(17, 24, 39, .06);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);font-size:14px;line-height:1.45;color:var(--grey-900);background:var(--grey-100);-webkit-text-size-adjust:100%}.app{min-height:100vh;display:flex;flex-direction:column}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.topbar{display:flex;flex-wrap:nowrap;align-items:stretch;flex-shrink:0;gap:4px;padding:4px 8px 2px;background:linear-gradient(var(--white),var(--grey-50));border-bottom:1px solid var(--grey-300);position:sticky;top:0;z-index:20;overflow-x:auto;overflow-y:hidden}.topbar__title{flex:0 0 auto;align-self:center;margin:0;font-size:15px;font-weight:750;letter-spacing:-.01em;color:var(--blue-dark);white-space:nowrap}.topbar__actions{display:flex;gap:0;flex-wrap:nowrap;align-items:stretch}.topbar__group{display:flex;align-items:center;gap:4px;padding:0 7px 13px;border-left:1px solid var(--grey-200);flex-wrap:nowrap;white-space:nowrap;position:relative}.topbar__group:first-child{padding-left:0;border-left:0}.topbar__group--about{margin-left:auto}.topbar__group:after{position:absolute;content:attr(aria-label);bottom:0;left:4px;right:4px;text-align:center;color:var(--grey-500);font-size:9.5px;line-height:12px;font-weight:600}.topbar .button--small{padding:4px 7px;min-height:30px}@media (max-width: 1700px){.topbar__title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}}.topbar .field{min-width:0}.topbar .checkbox{white-space:nowrap}.ribbon-tools{display:flex;align-items:stretch;flex:0 0 auto}.ribbon-group{display:flex;flex-direction:column;justify-content:space-between;gap:1px;padding:0 6px;border-right:1px solid var(--grey-200)}.ribbon-group__controls{display:flex;align-items:stretch;gap:3px;flex:1}.ribbon-group__label{font-size:9.5px;line-height:12px;font-weight:600;color:var(--grey-500);text-align:center;white-space:nowrap}.ribbon-group--accent{background:color-mix(in srgb,var(--blue-light) 45%,transparent)}.ribbon-group--loads{background:#ecfdf5}.ribbon-button{min-width:44px;padding:4px 7px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--grey-700);font:inherit;font-size:11px;font-weight:600;cursor:pointer}.ribbon-button:hover{border-color:var(--grey-300);background:var(--white)}.ribbon-button--active{border-color:#93c5fd;background:var(--blue-light);color:var(--blue-dark)}.ribbon-button--large{display:flex;min-width:62px;flex-direction:column;align-items:center;justify-content:center;gap:1px}.ribbon-button__icon{height:19px;color:var(--blue);font-size:17px;line-height:19px}.ribbon-group--loads .ribbon-button__icon{color:var(--green)}.ribbon-tools+.load-brush-bar{min-width:360px;margin:0 8px;align-self:center}.button{font:inherit;font-weight:600;font-size:13px;padding:7px 14px;border-radius:var(--radius);border:1px solid var(--grey-300);background:var(--white);color:var(--grey-900);cursor:pointer;min-height:36px}.button:hover{background:var(--grey-50);border-color:var(--grey-500)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:var(--blue);border-color:var(--blue);color:var(--white)}.button--primary:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark)}.button--add{margin-top:8px;border-style:dashed;color:var(--blue)}.button--small{font-size:12px;padding:5px 10px;min-height:32px}.button--armed{background:var(--green);border-color:var(--green);color:var(--white)}.button--armed:hover:not(:disabled){background:var(--green-dark);border-color:var(--green-dark)}.button--icon{min-width:32px;padding-left:6px;padding-right:6px;font-size:17px;line-height:1}.button--danger{color:var(--red);border-color:var(--grey-300)}.button--danger:hover:not(:disabled){background:var(--red-light);border-color:var(--red)}.icon-button{font:inherit;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:var(--radius);border:1px solid transparent;background:transparent;color:var(--grey-500)}.icon-button:hover{background:var(--grey-100);color:var(--grey-900)}.icon-button--danger:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.chip{font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:6px 12px;min-height:34px;border-radius:999px;border:1px solid var(--grey-300);background:var(--white);color:var(--grey-700)}.chip:hover{border-color:var(--blue);color:var(--blue)}.chip--active{background:var(--blue);border-color:var(--blue);color:var(--white)}.segmented{display:flex;border:1px solid var(--grey-300);border-radius:var(--radius);overflow:hidden}.segmented__button{font:inherit;font-size:13px;font-weight:600;cursor:pointer;flex:1;padding:8px 12px;min-height:38px;border:0;background:var(--white);color:var(--grey-700);border-right:1px solid var(--grey-300)}.segmented__button:last-child{border-right:0}.segmented__button--active{background:var(--blue);color:var(--white)}.segmented--compact .segmented__button{font-size:12px;padding:5px 9px;min-height:32px}.popover{position:relative;display:inline-flex}.popover__trigger[aria-expanded=true]{background:var(--blue-light);border-color:var(--blue);color:var(--blue-dark)}.popover__panel{position:fixed;z-index:30;min-width:220px;max-width:min(320px,calc(100vw - 16px));display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius);box-shadow:0 8px 24px #11182729}.popover__text{margin:0;font-size:12px;color:var(--grey-700);line-height:1.5}.popover__menu{display:grid;margin:-6px -8px}.popover__menu-item{font:inherit;font-size:13px;text-align:left;cursor:pointer;padding:6px 10px;min-height:32px;border:0;border-radius:4px;background:transparent;color:var(--grey-900)}.popover__menu-item:hover,.popover__menu-item:focus-visible{background:var(--blue-light);color:var(--blue-dark)}.popover__text+.popover__text{margin-top:-4px}.context-menu{position:fixed;z-index:90;min-width:230px;max-width:min(320px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto;overscroll-behavior:contain;padding:4px 0;background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius);box-shadow:0 10px 28px #11182733;font-size:13px}.context-menu:focus{outline:none}.context-menu__header{display:grid;gap:1px;padding:6px 12px 7px;margin-bottom:4px;border-bottom:1px solid var(--grey-200)}.context-menu__header strong{font-size:13px}.context-menu__header span{font-size:11px;color:var(--grey-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu__label{padding:4px 12px 2px 32px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-500)}.context-menu__separator{height:1px;margin:4px 0;background:var(--grey-200)}.context-menu__item{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;width:100%;min-height:30px;padding:4px 12px 4px 8px;border:0;background:transparent;font:inherit;color:var(--grey-900);text-align:left;cursor:pointer}.context-menu__item:focus{outline:none}.context-menu__item:hover:not(:disabled),.context-menu__item:focus-visible{background:var(--blue-light);color:var(--blue-dark)}.context-menu__item:focus-visible{box-shadow:inset 2px 0 0 var(--blue)}.context-menu__item:disabled{color:var(--grey-500);cursor:default}.context-menu__item--danger{color:var(--red)}.context-menu__item--danger:hover:not(:disabled),.context-menu__item--danger:focus-visible{background:var(--red-light);color:var(--red)}.context-menu__mark{color:var(--blue);font-size:11px;text-align:center}.context-menu__shortcut{font-family:var(--mono);font-size:11px;color:var(--grey-500)}@media (pointer: coarse){.context-menu{min-width:250px}.context-menu__item{min-height:42px;font-size:14px}}.status{margin:0 0 6px;display:grid;gap:4px}.status__item{margin:0;padding:5px 10px;border-radius:var(--radius);border:1px solid transparent;font-size:12.5px;line-height:1.4}.status__item--error{background:var(--red-light);border-color:#fca5a5;color:#7f1d1d}.status__item--warn{background:var(--amber-light);border-color:#fcd34d;color:#78350f}.status__item--ok{background:#dcfce7;border-color:#86efac;color:var(--green-dark);display:flex;justify-content:space-between;align-items:center;gap:8px}.status__close{border:0;padding:0 2px;background:transparent;font-size:18px;line-height:1;cursor:pointer;color:inherit}.workspace{flex:1 1 auto;display:flex;flex-direction:column;padding:16px 20px 28px;gap:12px;min-width:0}.viewport-column{min-width:0;padding:8px 12px}.model-data-panel__header,.properties-region__header,.results-dock__header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:0 0 auto;padding:10px 12px;border-bottom:1px solid var(--grey-200);min-height:40px}.model-data-panel__header .panel__title,.properties-region__header .panel__title{margin:0}.model-data-panel__tabs,.results-dock__tabs{display:flex;flex:0 0 auto;border-bottom:1px solid var(--grey-200);padding:0 8px;gap:2px;overflow-x:auto}.model-data-panel__tab,.results-dock__tab{font:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;padding:8px 10px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--grey-500);min-height:36px}.model-data-panel__tab:hover,.results-dock__tab:hover{color:var(--grey-900)}.model-data-panel__tab--active,.results-dock__tab--active{color:var(--blue-dark);border-bottom-color:var(--blue)}.model-data-panel__body,.results-dock__body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:12px;display:grid;gap:10px;align-content:start}.model-data-panel__tabpanel--hidden,.results-dock__tabpanel--hidden{display:none}.model-data-panel__loads{display:grid;gap:10px}.model-data-panel__loads-header{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.model-data-panel__subtitle{margin:6px 0 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-500)}.model-data-panel__assumptions{margin-top:4px;padding-top:10px;border-top:1px solid var(--grey-200);font-size:12px;color:var(--grey-500)}.model-data-panel__assumptions summary{cursor:pointer;font-weight:600;color:var(--grey-700)}.model-data-panel__assumptions ul{margin:8px 0 0;padding-left:18px}.model-data-panel__assumptions li{margin-bottom:3px}.properties-region__body{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:12px;flex:1 1 auto}.properties-region__body .selection-bar,.properties-region__body .properties-panel{margin:0;border:0;padding:0;background:none}.results-dock__status{margin-left:auto;padding:0 4px;font-size:12px;font-weight:700;white-space:nowrap}.results-dock__status--ok{color:var(--green-dark)}.results-dock__status--stale{color:var(--amber)}.results-dock__status--error{color:var(--red)}.results-dock__status--none{color:var(--grey-500)}.panel{background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;min-width:0}.panel__title{margin:0 0 10px;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--grey-700);display:flex;align-items:center;gap:8px}.panel__header{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:flex-start}@media screen and (min-width: 1101px){html,body{height:100%;overflow:hidden}.app{height:100vh;height:100dvh;min-height:0;overflow:hidden}.topbar__actions{flex-wrap:wrap;row-gap:4px}.workspace{flex:1 1 auto;min-height:0;overflow:hidden;padding:6px 8px 0;gap:6px}.workspace-row{display:flex;flex:1 1 auto;min-height:320px;gap:8px}.viewport-column{flex:1 1 auto;min-width:0;min-height:0;padding:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}.model-figure,.model-figure__stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.model-svg{flex:1 1 auto;min-height:120px;width:100%;height:100%;aspect-ratio:auto}.model-figure__stage>.status{position:absolute;z-index:5;top:8px;right:8px;margin:0;width:min(440px,calc(100% - 16px));pointer-events:none}.model-figure__stage>.status .status__item{pointer-events:auto;box-shadow:0 4px 14px #11182724}.model-figure__caption{position:absolute;z-index:4;right:8px;bottom:6px;margin:0;padding:2px 8px;background:#f9fafbe0;border-radius:4px;pointer-events:none}.model-figure__caption:empty{display:none}.model-data-panel{flex:0 0 320px;width:320px;min-height:0;display:flex;flex-direction:column;background:var(--white);border-right:1px solid var(--grey-300)}.model-data-panel--collapsed{display:none}.properties-region{flex:0 0 300px;width:300px;min-height:0;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--grey-300);border-radius:var(--radius);box-shadow:var(--shadow)}.properties-region--collapsed{display:none}.results-dock{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;background:var(--white);border-top:1px solid var(--grey-300)}.results-dock:not(.results-dock--collapsed){flex-basis:36vh;max-height:40vh}.results-dock--collapsed .results-dock__body{display:none}.results-dock__header{padding:2px 8px;min-height:0;gap:6px}.results-dock__tabs{border-bottom:0;padding:0}.results-dock__tab{min-height:30px;padding:5px 10px}.results-dock__header .button--small{min-height:26px;padding:2px 10px}}.examples__buttons{display:flex;flex-wrap:wrap;gap:8px}.examples__description{margin:8px 0 0;font-size:12px;color:var(--grey-500)}.hint--first{margin-top:0}.modal--new{width:min(520px,100%)}.floating-properties{position:fixed;z-index:80;width:min(430px,calc(100vw - 24px));height:min(650px,calc(100vh - 40px));min-width:300px;min-height:220px;resize:both;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--grey-300);border-radius:9px;background:var(--surface, #fff);box-shadow:0 14px 42px #0f172a3d}.floating-properties__header{flex:0 0 auto;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;background:var(--blue-700, #1d4f7a)}.floating-properties__header>div{display:grid;gap:2px;min-width:0}.floating-properties__header span{font-size:11px;opacity:.82;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floating-properties__body{flex:1 1 auto;min-height:0;overflow:auto;padding:14px}.floating-properties__body .selection-bar,.floating-properties__body .properties-panel{margin:0;border:0;padding:0;background:none}.floating-properties__resize-hint{flex:0 0 auto;padding:4px 12px;font-size:10px;color:var(--grey-500);text-align:right;border-top:1px solid var(--grey-200)}.new-model-dialog__descriptions{margin:0;padding-left:18px;font-size:12px;color:var(--grey-500);display:grid;gap:4px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table--wide{min-width:740px}.data-table--results{min-width:460px}.data-table th,.data-table td{padding:4px 6px;text-align:right;border-bottom:1px solid var(--grey-200)}.data-table thead th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--grey-500);font-weight:600;white-space:nowrap;border-bottom:1px solid var(--grey-300);position:sticky;top:0;background:var(--white)}.data-table tbody th{text-align:right;font-variant-numeric:tabular-nums;color:var(--grey-700)}.data-table td{font-variant-numeric:tabular-nums}.data-table__id{width:34px}.data-table__check{text-align:center}.data-table__actions{white-space:nowrap}.data-table__check input{width:18px;height:18px;accent-color:var(--blue);cursor:pointer}.data-table--results tbody tr:hover{background:var(--grey-50)}.bulk-editor{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:10px;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:6px}.bulk-editor .field{min-width:190px}.bulk-editor__title{flex-basis:100%;margin:0;font-size:12px;font-weight:700;color:var(--grey-700)}.row--alert{background:var(--red-light)}.number-field{font:inherit;font-size:13px;font-variant-numeric:tabular-nums;text-align:right;width:100%;min-width:56px;padding:5px 6px;min-height:32px;border:1px solid var(--grey-300);border-radius:4px;background:var(--white);color:inherit}.number-field:focus{border-color:var(--blue)}.number-field--invalid{border-color:var(--red);background:var(--red-light)}select,input[type=number]{font:inherit;font-size:13px;padding:5px 6px;min-height:32px;border:1px solid var(--grey-300);border-radius:4px;background:var(--white);color:inherit}.section-button{font:inherit;font-size:12px;cursor:pointer;white-space:nowrap;padding:5px 9px;min-height:32px;border-radius:4px;border:1px solid var(--grey-300);background:var(--grey-50);color:var(--blue-dark);display:inline-flex;align-items:center;gap:6px}.section-button:hover{border-color:var(--blue);background:var(--blue-light)}.section-button__flag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;background:var(--amber-light);color:var(--amber);padding:1px 5px;border-radius:3px}.hint{margin:8px 0 0;font-size:12px;color:var(--grey-500)}.text-left{text-align:left!important}.load-case-bar{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.load-case-bar__select,.load-case-bar__rename{max-width:220px}.combinations{display:grid;gap:12px}.combinations .data-table th,.combinations .data-table td{white-space:nowrap}.solve-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.checkbox{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.checkbox input{width:18px;height:18px;accent-color:var(--blue);cursor:pointer}.field{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.field--inline{flex-direction:row;align-items:center;gap:6px;flex:0 0 auto}.field__label{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--grey-500);font-weight:600}.field-row{display:flex;gap:12px;flex-wrap:wrap}.support-control{display:flex;align-items:center;gap:6px;min-width:142px}.support-control__spring{width:112px}.topbar__group--view input[type=number]{width:74px}.load-brush-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;background:#dcfce7;border:1px solid #86efac;border-radius:var(--radius);font-size:13px;color:var(--green-dark)}.load-brush-bar__title{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.load-brush-bar__value{font-family:var(--mono);font-weight:700}.load-brush-bar__hint{color:var(--grey-700)}.load-brush-bar .button{margin-left:auto}.selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;min-height:44px;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:var(--radius)}.selection-bar--empty{color:var(--grey-500);font-size:12px}.selection-bar--group{border-color:var(--blue-light)}.selection-bar__title{font-weight:600;font-size:13px;color:var(--blue-dark);margin-right:4px}.canvas-header{display:flex;align-items:center;gap:4px 12px;min-height:38px;margin-bottom:4px;padding:3px 6px;border:1px solid transparent;border-radius:var(--radius)}.canvas-header--command{background:var(--blue-light);border-color:#bfdbfe}.canvas-header__main{flex:1 1 auto;min-width:0;container-type:inline-size}.canvas-header__hint{margin:0;font-size:12px;color:var(--grey-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.command-bar__instruction{margin:0;font-weight:700;font-size:12.5px;color:var(--blue-dark)}.command-bar__hint{margin:0;font-size:12px;color:var(--grey-700)}.command-bar__mode{flex:0 0 auto}.command-bar .segmented--compact .segmented__button{min-height:28px;padding:3px 8px;white-space:nowrap}.command-bar__fields{display:flex;flex-wrap:wrap;gap:4px 10px}.command-bar__fields .field{flex-direction:row;align-items:center;gap:5px;flex:0 0 auto}.command-bar__fields .field__label{font-size:12px;text-transform:none;letter-spacing:0;color:var(--grey-700);white-space:nowrap}.command-bar__fields .number-field{width:84px;min-width:0;min-height:28px;padding:3px 6px}.command-bar__quick{display:flex;gap:4px}.command-bar .button--small{min-height:28px;padding:3px 9px}.command-bar__readout{margin:0;font-family:var(--mono);font-size:11.5px;color:var(--blue-dark);white-space:nowrap}.command-bar__actions{display:flex;gap:6px;margin-left:auto}@container (max-width: 1260px){.command-bar__readout{display:none}}.entry-field{min-width:0}.entry-field__row{display:flex;align-items:center;gap:4px}.entry-field__row .number-field{text-align:left}.entry-field--locked .number-field{border-color:var(--blue);background:#eff6ff;font-weight:700}.entry-field__unlock{font:inherit;font-size:15px;line-height:1;cursor:pointer;width:24px;min-height:28px;padding:0;border-radius:4px;border:1px solid var(--grey-300);background:var(--white);color:var(--grey-700)}.entry-field__unlock:hover{border-color:var(--blue);color:var(--blue)}@media (pointer: coarse){.command-bar .button--small,.canvas-navigation .button--small,.command-bar .segmented--compact .segmented__button,.command-bar__fields .number-field,.entry-field__unlock{min-height:36px}.entry-field__unlock{width:32px}}.properties-panel{display:block;padding:14px}.properties-panel h3,.properties-panel h4{margin:0}.properties-panel h4{margin-top:14px;margin-bottom:7px;font-size:12px;text-transform:uppercase;color:var(--grey-700)}.properties-panel__header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.property-actions{display:flex;flex-wrap:wrap;gap:6px}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.property-control{display:flex;flex-direction:column;gap:7px;padding:8px;border:1px solid var(--grey-200);border-radius:var(--radius)}.property-summary{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0 0 10px}.property-summary div{display:grid;gap:2px}.property-summary dt{font-size:11px;text-transform:uppercase;color:var(--grey-500);font-weight:600}.property-summary dd{margin:0;font-weight:600}.active-case{margin:0 0 8px;font-size:12px;color:var(--grey-700)}.property-details{margin-top:14px;border-top:1px solid var(--grey-200);padding-top:9px}.property-details summary{cursor:pointer;font-weight:600;margin-bottom:9px}.table-select{border:2px solid transparent;border-radius:4px;background:transparent;color:var(--blue-dark);font:inherit;font-weight:700;padding:4px 7px;cursor:pointer}.table-select:hover{background:var(--grey-100)}.table-select:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.data-table__row--active>*{background:#fff7d6!important;border-top:2px solid var(--amber);border-bottom:2px solid var(--amber)}.data-table__row--active>*:first-child{border-left:4px solid var(--amber)}.model-figure{margin:0}.canvas-navigation{flex:0 0 auto;display:flex;align-items:center;gap:4px}.canvas-navigation .button--small{min-height:28px;padding:3px 9px}.canvas-sizes{display:grid;gap:10px;min-width:220px}.canvas-sizes__row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;font-size:12px;color:var(--grey-700)}.canvas-sizes__row input[type=range]{grid-column:1 / -1;width:100%;margin:0;accent-color:var(--blue);min-height:24px}.canvas-sizes__value{font-family:var(--mono);font-size:12px;color:var(--grey-900)}.canvas-navigation__zoom{min-width:46px;text-align:center;font-family:var(--mono);font-size:12px}.canvas-navigation__hint{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--grey-300);border-radius:50%;cursor:help;color:var(--grey-500);font-size:11px;font-weight:700}.model-figure__stage{position:relative}.model-svg{width:100%;height:auto;aspect-ratio:1000 / 560;display:block;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:var(--radius)}.model-figure__caption{display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 0;font-size:12px;color:var(--grey-500)}.svg-member{stroke:var(--grey-900);stroke-width:3;stroke-linecap:round}.svg-profile{stroke-width:1.4;stroke-linejoin:round}.svg-profile--steel{fill:#2563eb47;stroke:#1d4ed8}.svg-profile--concrete{fill:#64748b4d;stroke:#64748b}.svg-profile--timber{fill:#f59e0b52;stroke:#d97706}.svg-profile--unknown{fill:#64748b38;stroke:#475569}.svg-node{fill:var(--white);stroke:var(--grey-900);stroke-width:2}.svg-support{stroke:var(--grey-700);stroke-width:2;fill:none}.svg-support-fill{fill:var(--grey-700)}.svg-support-rot{fill:none;stroke:var(--grey-700);stroke-width:2}.svg-support-spring{fill:none;stroke:var(--blue-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.svg-hinge{fill:var(--white);stroke:var(--red);stroke-width:2.2}.svg-deformed{fill:none;stroke:var(--blue);stroke-width:2.4;stroke-linejoin:round}.svg-deformation-value{fill:var(--blue-dark);font-family:var(--mono);font-size:calc(11px * var(--font-scale, 1));font-weight:700;paint-order:stroke;stroke:var(--white);stroke-width:4px;stroke-linejoin:round}.svg-arrow--point line,.svg-arrow--point path{stroke:var(--red);stroke-width:2}.svg-arrow--point polygon{fill:var(--red)}.svg-arrow--dist line,.svg-arrow--dist path{stroke:var(--green);stroke-width:2}.svg-arrow--dist polygon{fill:var(--green)}.svg-arrow--dist line{stroke-width:1.4}.svg-load-band__fill{fill:#15803d29;stroke:none}.svg-load-band__cap{stroke:var(--green);stroke-width:1.4}.svg-load-band--selected .svg-load-band__fill{fill:#d9770638}.svg-load-band--selected .svg-load-band__cap{stroke:var(--amber);stroke-width:2.2}.svg-load-band--selected .svg-arrow--dist line,.svg-load-band--selected .svg-arrow--dist path{stroke:var(--amber)}.svg-load-band--selected .svg-arrow--dist polygon{fill:var(--amber)}.svg-arrow--selected line,.svg-arrow--selected path{stroke:var(--amber);stroke-width:3}.svg-arrow--selected polygon{fill:var(--amber)}.model-svg--select [data-load-kind]{cursor:pointer}.svg-diagram{stroke-width:1;opacity:.75}.svg-diagram--M{fill:#1d4ed838;stroke:var(--blue)}.svg-diagram--V{fill:#b4530933;stroke:var(--amber)}.svg-diagram--N{fill:#15803d2e;stroke:var(--green)}.svg-diagram-value{font-family:var(--mono);font-size:calc(11px * var(--font-scale, 1));font-weight:700;paint-order:stroke;stroke:var(--white);stroke-width:4px;stroke-linejoin:round}.svg-diagram-value--M{fill:var(--blue-dark)}.svg-diagram-value--V{fill:#92400e}.svg-diagram-value--N{fill:#166534}.svg-reaction-popup__leader{stroke:var(--blue-dark);stroke-width:1.5;stroke-dasharray:3 3}.svg-reaction-popup rect{fill:var(--white);stroke:var(--blue-dark);stroke-width:1.5;filter:drop-shadow(0 3px 5px rgba(15,23,42,.2))}.svg-reaction-popup text{fill:var(--grey-900);font-family:var(--font)}.svg-reaction-popup__title{font-size:calc(13px * var(--font-scale, 1));font-weight:700;fill:var(--blue-dark)!important}.svg-reaction-popup__value{font-family:var(--mono)!important;font-size:calc(12px * var(--font-scale, 1))}.svg-label{font-family:var(--font);font-size:calc(13px * var(--font-scale, 1));fill:var(--grey-500)}.svg-label--node{font-weight:700;fill:var(--grey-900)}.svg-label--element{font-style:italic;fill:var(--blue-dark)}.model-svg--select{cursor:default}.model-svg--member,.model-svg--node{cursor:crosshair}.model-svg--copy{cursor:copy}.model-svg--load{cursor:cell}.model-svg{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.model-svg text{-webkit-user-select:none;user-select:none}.svg-grid{stroke:var(--grey-200);stroke-width:1}.svg-grid--axis{stroke:var(--grey-300);stroke-width:1.5}.svg-coordinate-axes line{stroke:var(--grey-700);stroke-width:2}.svg-coordinate-axes polygon,.svg-coordinate-axes circle{fill:var(--grey-700)}.svg-coordinate-axes text{fill:var(--grey-700);font-family:var(--mono);font-size:14px;font-weight:700}.svg-selected{fill:none;stroke:var(--amber);stroke-width:7;opacity:.45;stroke-linecap:round}.svg-end-label{fill:#92400e;font-size:calc(17px * var(--font-scale, 1));font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:4px}.svg-load-target{fill:none;stroke:var(--green);stroke-width:8;opacity:.4;stroke-linecap:round}.svg-rubber{stroke:var(--blue);stroke-width:2;stroke-dasharray:7 5;fill:none}.svg-rubber__origin{fill:var(--blue)}.svg-ghost{stroke:var(--blue);stroke-width:2;stroke-dasharray:5 4;opacity:.7}.svg-ghost--member{stroke-width:3}.svg-ghost__node{fill:var(--blue);opacity:.8}.svg-subdued{opacity:.32}.svg-snap{fill:none;stroke:var(--red);stroke-width:2}.svg-snap--grid,.svg-snap--angle,.svg-snap--free{stroke:var(--grey-500)}.svg-snap--locked{fill:var(--blue);stroke:var(--blue)}.svg-snap__label{font-family:var(--font);font-size:12px;font-weight:600;fill:var(--grey-700);stroke:none;paint-order:stroke;stroke:var(--grey-50);stroke-width:3px;stroke-linejoin:round}.svg-readout{font-family:var(--mono);font-size:12px;fill:var(--blue-dark);stroke:var(--grey-50);stroke-width:3px;stroke-linejoin:round;paint-order:stroke}.model-figure__hint{color:var(--grey-700)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.card{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:var(--radius)}.card--alert{background:var(--red-light);border-color:#fca5a5}.card__label{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--grey-500);font-weight:600}.card__value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--blue-dark)}.card__value small{font-size:12px;font-weight:500;color:var(--grey-500)}.card__note{font-size:11px;color:var(--grey-500)}.precheck{display:grid;gap:10px}.precheck__warning{color:var(--amber);font-weight:600;margin-top:0}.precheck__settings{align-items:flex-end}.precheck__kmod{font-size:12px;font-weight:700;color:var(--grey-700);padding-bottom:8px}.precheck__unchecked{color:var(--grey-500);font-style:italic}.precheck__notes{margin:0;padding-left:18px;font-size:12px;color:var(--grey-700);display:grid;gap:4px}.precheck__table td{white-space:nowrap}.precheck__table .precheck__text{text-align:left}.precheck__table thead th{text-transform:none}.precheck__table .number-field{width:64px;min-width:0}.precheck__settings .field{flex:0 1 260px}.util{position:relative;min-width:84px}.util__bar{display:block;height:4px;margin-bottom:2px;background:var(--grey-200);border-radius:2px;overflow:hidden}.util__bar>span{display:block;height:100%;background:var(--blue)}.util__value{font-variant-numeric:tabular-nums}.util--governing .util__value{font-weight:700}.util--over .util__bar>span{background:var(--red)}.util--over .util__value{color:var(--red)}.results{display:grid;gap:10px}.results-section{border:1px solid var(--grey-200);border-radius:var(--radius)}.results-section__summary{cursor:pointer;padding:9px 12px;font-weight:600;font-size:13px;color:var(--grey-700);background:var(--grey-50);border-radius:var(--radius);min-height:40px;display:flex;align-items:center}.results-section[open] .results-section__summary{border-bottom:1px solid var(--grey-200);border-radius:var(--radius) var(--radius) 0 0}.results-section .table-scroll{padding:8px 12px 12px}.empty{margin:0;padding:24px;text-align:center;color:var(--grey-500)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#11182773;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--white);border-radius:8px;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #11182740}.modal--copy{width:min(440px,100%)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--grey-200)}.modal__header h3{margin:0;font-size:15px}.modal__body{padding:16px 18px;display:grid;gap:14px}.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--grey-200);background:var(--grey-50)}.copy-dialog__hint{margin:0;color:var(--grey-700);font-size:13px}.field-error{margin:0;color:var(--red);font-size:12px;font-weight:600}.preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0;padding:10px 12px;background:var(--grey-50);border:1px solid var(--grey-200);border-radius:var(--radius)}.preview div{display:flex;flex-direction:column}.preview dt{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--grey-500);font-weight:600}.preview dd{margin:0;font-family:var(--mono);font-size:13px;color:var(--grey-900)}@media (max-width: 1100px){.workspace{padding:12px;gap:12px}.viewport-column{padding:0}.canvas-header{flex-wrap:wrap;justify-content:flex-end}.canvas-header__main{flex-basis:100%}.canvas-header__hint{white-space:normal}.model-data-panel,.properties-region,.results-dock{display:none}.model-data-panel:not(.model-data-panel--collapsed),.properties-region:not(.properties-region--collapsed),.results-dock:not(.results-dock--collapsed){display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--white)}}@media (max-width: 720px){body{font-size:15px}.topbar{padding:10px 12px}.topbar__actions .button{padding:7px 10px;font-size:12px}.panel{padding:12px}.cards{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.topbar__group--view{gap:10px}}@media print{body{background:var(--white);font-size:11px}.topbar{position:static;border-bottom:2px solid var(--grey-900)}.topbar__actions,.solve-bar,.button--add,.canvas-toolbar,.load-brush-bar,.selection-bar,.canvas-header,.context-menu,.icon-button,.status,.model-data-panel,.properties-region,.results-dock__header{display:none!important}.workspace{padding:0;gap:10px}.panel{box-shadow:none;border-color:var(--grey-500);break-inside:avoid}.results-section{break-inside:avoid}.results-section>.table-scroll{display:block!important}.table-scroll{overflow:visible}details{display:block}details>.table-scroll{display:block!important}.workspace-row,.viewport-column{display:block!important}.results-dock,.results-dock__body{display:block!important;max-height:none!important;overflow:visible!important}.results-dock__tabpanel--hidden{display:block!important}}.result-inspector{border:2px solid var(--blue-light)}.result-inspector__meta{margin:4px 0 0;color:var(--grey-700);font-size:13px}.result-inspector__selector{border:0;padding:0;margin:14px 0 8px;display:flex;flex-wrap:wrap;gap:6px}.result-inspector__selector legend{width:100%;font-weight:700;margin-bottom:5px}.inspection-diagram{border:1px solid var(--grey-300);border-radius:var(--radius);background:var(--grey-50);touch-action:none}.inspection-diagram svg{width:100%;min-height:220px;display:block;cursor:crosshair}.inspection-diagram text{font:12px var(--font);fill:var(--grey-700)}.inspection-grid{stroke:var(--grey-300);stroke-width:1;stroke-dasharray:3 4}.inspection-zero{stroke:var(--grey-500);stroke-width:1.5;stroke-dasharray:6 4}.inspection-tick{stroke:var(--grey-600);stroke-width:1.5}.inspection-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linejoin:bevel}.inspection-cursor{stroke:var(--red);stroke-width:2}.inspection-dot{fill:var(--white);stroke:var(--red);stroke-width:3}.inspection-node{fill:var(--white);stroke:var(--grey-900);stroke-width:2.5}.inspection-diagram .inspection-end-label{font-weight:700;fill:var(--grey-900)}.inspection-controls{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:14px;align-items:end}.inspection-controls input[type=range]{width:100%;min-height:44px}.inspection-jumps{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.result-inspector td{vertical-align:top}.result-inspector td strong,.governing-link{display:block;margin-bottom:4px}.governing-link{border:0;padding:0;background:none;color:var(--blue);text-align:left;text-decoration:underline;cursor:pointer}.combination-detail{margin-top:12px;padding:12px;background:var(--blue-light);border-radius:var(--radius)}.svg-inspection-marker{fill:var(--white);stroke:#7c3aed;stroke-width:3;pointer-events:none}@media (max-width: 720px){.inspection-controls{grid-template-columns:1fr}.inspection-diagram svg{min-height:180px}}.section-library-details{margin:1rem 0}.section-library-details summary{cursor:pointer;font-weight:600}.section-library-details__table{width:100%}.section-library-details__table th,.section-library-details__table td{text-align:left;white-space:normal;overflow-wrap:anywhere}.section-library-details__table{table-layout:fixed}.section-library-details__table tbody th{text-align:left;width:42%}.modal--section{display:flex;flex-direction:column;overflow:hidden}.modal--section .modal__header,.modal--section .modal__footer{flex-shrink:0}.modal--section .modal__body{display:block;min-height:0;overflow-y:auto}.modal--section .modal__body>*+*{margin-top:14px}.modal--section .modal__footer{flex-wrap:wrap}.modal--section input[type=search]{font:inherit;font-size:13px;padding:5px 6px;min-height:32px;width:100%;border:1px solid var(--grey-300);border-radius:4px;background:var(--white);color:inherit}
