.left-explorer-area{z-index:8;min-width:var(--left-explorer-rail-width,48px);min-height:0;display:flex;position:relative;overflow:visible}.left-explorer-rail{width:var(--left-explorer-rail-width,48px);min-width:var(--left-explorer-rail-width,48px);flex:0 0 var(--left-explorer-rail-width,48px);background:#fffffff7;border:1px solid #cfd6e2;border-right-color:#e2e8f0;border-radius:10px 0 0 10px;flex-direction:column;align-items:center;gap:6px;padding:6px;display:flex}.left-explorer-panel-collapsed .left-explorer-rail{border-right-color:#cfd6e2;border-top-right-radius:10px;border-bottom-right-radius:10px}.left-explorer-rail-button{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;min-height:34px;margin:0;padding:0;display:inline-flex}.left-explorer-rail-button:hover:not(:disabled),.left-explorer-rail-button:focus-visible:not(:disabled),.left-explorer-rail-button.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.left-explorer-rail-button:disabled{cursor:not-allowed;opacity:.45}.left-explorer-rail-icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.left-explorer-rail-icon svg{width:18px;height:18px}.scenario-sidebar{z-index:8;min-width:0;min-height:0;position:relative;overflow:visible}.left-explorer-area .scenario-sidebar{will-change:width, opacity;flex:none}.scenario-sidebar.collapsed{pointer-events:none;margin-left:0;overflow:hidden}.scenario-sidebar.collapsed .left-explorer-panel-width-resizer{display:none}.scenario-explorer{z-index:auto;width:100%;height:100%;min-height:0;max-height:none;box-shadow:none;color:#1f2937;pointer-events:auto;background:#fffffff7;border:1px solid #cfd6e2;border-left:0;border-radius:0 10px 10px 0;grid-template-rows:auto minmax(0,1fr);gap:0;padding:0;display:grid;position:relative;overflow:hidden}.scenario-explorer-header{z-index:3;cursor:pointer;background:#fffffffa;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;min-width:0;min-height:34px;padding:7px 11px;transition:background-color .12s;display:flex;position:sticky;top:0}.scenario-explorer-header:hover,.scenario-explorer-header:focus-visible{background:#f8fafc}.scenario-explorer-title{align-items:center;gap:8px;min-width:0;display:flex}.scenario-explorer-title h2{color:#1f2937;margin:0;font-size:.94rem;line-height:1}.scenario-explorer .scenario-header-add-button{width:24px;min-height:22px;padding:0;font-size:.82rem;font-weight:900}.scenario-header-add-button span{transform:translateY(-1px)}.scenario-header-add-button:hover:not(:disabled),.scenario-header-add-button:focus-visible:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.scenario-explorer button{border-radius:5px;justify-content:center;align-items:center;width:auto;min-width:0;min-height:28px;margin:0;padding:5px 8px;font-size:.76rem;line-height:1.1;display:inline-flex}.scenario-tree{align-content:start;gap:2px;min-height:0;padding:8px 10px 10px;display:grid;overflow:auto}.scenario-group{border-radius:6px;align-content:start;align-self:start;gap:2px;display:grid}.scenario-group.active{background:#f8fbff}.scenario-group-heading{color:#475569;text-transform:uppercase;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;min-height:28px;padding:2px 0;font-size:.74rem;font-weight:850;display:grid}.scenario-group.active .scenario-group-heading{background:#eff6ff;border-radius:6px 6px 0 0;box-shadow:inset 2px 0 #93c5fd}.scenario-group.active>ul{background:#f8fbff;border-left-color:#bfdbfe}.scenario-explorer .scenario-group-toggle{color:#1f3b5d;text-transform:uppercase;background:0 0;border-color:#0000;justify-content:flex-start;gap:6px;width:100%;min-width:0;min-height:24px;padding:2px 4px;font-size:.74rem;font-weight:850}.scenario-explorer .scenario-group-toggle:hover,.scenario-explorer .scenario-group-toggle:focus-visible{background:#f8fbff;border-color:#dbeafe}.scenario-disclosure{color:#64748b;text-align:center;text-transform:none;flex:0 0 12px;width:12px;font-size:.68rem;line-height:1}.scenario-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.scenario-inline-rename{width:100%;min-width:0;margin:0;display:block}.scenario-inline-rename input{color:#0f172a;width:100%;min-width:0;min-height:24px;font:inherit;background:#f8fbff;border:1px solid #60a5fa;border-radius:5px;outline:2px solid #60a5fa38;margin:0;padding:3px 6px;font-size:.76rem;font-weight:700;line-height:18px;display:block}.scenario-group-inline-rename{align-items:center;gap:6px;min-height:24px;padding:2px 4px;display:flex}.scenario-group-inline-rename input{color:#1f3b5d;font-size:.74rem;font-weight:850}.scenario-group-count{color:#64748b;text-align:center;background:#f1f5f9;border-radius:999px;flex:none;min-width:22px;line-height:18px}.scenario-explorer .scenario-group-add-button{width:24px;min-height:22px;padding:0;font-size:.82rem;font-weight:900}.scenario-group-add-button span{transform:translateY(-1px)}.scenario-group-add-button:hover:not(:disabled),.scenario-group-add-button:focus-visible:not(:disabled){color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.scenario-group ul{border-left:1px solid #dbe4f0;align-content:start;gap:1px;margin:0;padding:0 0 0 16px;list-style:none;display:grid}.scenario-tree-item{background:0 0;border:1px solid #0000;border-radius:5px;align-content:start;align-self:start;min-height:32px;padding:2px 0 2px 6px;display:block;position:relative}.scenario-tree-item:before{content:"";background:#dbe4f0;width:12px;height:1px;position:absolute;top:50%;left:-16px}.scenario-tree-item.selected{background:#f8fbff;border-color:#93c5fd}.scenario-tree-item.active{border-color:#60a5fa;box-shadow:inset 2px 0 #2563eb}.scenario-tree-item.linked{box-shadow:inset 2px 0 #93c5fd}.scenario-tree-item.active.linked{box-shadow:inset 2px 0 #2563eb}.scenario-tree-item:hover{background:#f8fbff;border-color:#dbeafe}.scenario-row-main{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:2px 5px;display:grid}.scenario-compute-toggle{color:#94a3b8;background:#f8fafc;border-color:#cbd5e1;border-radius:50%;width:20px;height:20px;min-height:20px;padding:0;font-size:.68rem;font-weight:900;line-height:1}.scenario-compute-toggle span{display:block;transform:translateY(-.5px)}.scenario-compute-toggle[aria-pressed=true]{color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.scenario-compute-toggle:hover:not(:disabled),.scenario-compute-toggle:focus-visible:not(:disabled){color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.scenario-name{color:#1f2937;width:100%;min-width:0;min-height:24px;font:inherit;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:5px;padding:3px 6px;font-size:.76rem;font-weight:700;line-height:18px;display:block;overflow:hidden}.scenario-row-badges{color:#64748b;flex-wrap:wrap;grid-column:2/-1;gap:4px;min-width:0;max-width:100%;font-size:.66rem;font-weight:800;display:flex;overflow:hidden}.scenario-row-badges .scenario-fos-pill{color:#3730a3;background:#eef2ff;margin-left:auto}.scenario-row-badges span{text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border-radius:999px;min-width:0;max-width:100%;padding:1px 5px;overflow:hidden}.scenario-row-badges .scenario-status-computed,.scenario-row-badges .scenario-status-complete{color:#047857;background:#ecfdf5}.scenario-row-badges .scenario-status-running{color:#1d4ed8;background:#eff6ff}.scenario-row-badges .scenario-status-queued{color:#92400e;background:#fffbeb}.scenario-row-badges .scenario-status-error,.scenario-row-badges .scenario-status-failed,.scenario-row-badges .scenario-error{color:#b91c1c;background:#fef2f2}.scenario-context-menu{z-index:1000;background:#fff;border:1px solid #cbd5e1;border-radius:6px;gap:2px;width:168px;padding:5px;display:grid;position:fixed;box-shadow:0 14px 30px #0f172a29}.scenario-context-menu button{color:#1f2937;background:0 0;border-color:#0000;justify-content:flex-start;width:100%;min-height:28px;padding:5px 8px}.scenario-context-menu button:hover:not(:disabled),.scenario-context-menu button:focus-visible:not(:disabled){background:#eff6ff;border-color:#dbeafe}.scenario-context-menu button.danger{color:#b91c1c}.scenario-context-menu button:disabled{color:#94a3b8}.scenario-explorer-tooltip{z-index:1001;color:#fff;white-space:nowrap;pointer-events:none;background:#111827;border-radius:4px;max-width:160px;padding:4px 7px;font-size:.68rem;font-weight:800;line-height:1.15;position:fixed;transform:translate(-50%,-100%)}@media (width<=720px){.scenario-sidebar{min-height:240px}.left-explorer-panel-width-resizer{display:none}.scenario-explorer{height:min(54vh,440px)}.scenario-row-main{grid-template-columns:20px minmax(0,1fr)}.scenario-row-badges{grid-column:2}}.solver-modal{z-index:50;pointer-events:none;display:block;position:fixed;inset:0}.solver-modal.hidden{display:none}.solver-modal-card{pointer-events:auto;box-sizing:border-box;background:#fff;border:1px solid #d9dde5;border-radius:8px;flex-direction:column;width:min(520px,100vw - 16px);min-width:380px;min-height:320px;max-height:calc(100vh - 80px);display:flex;position:absolute;top:72px;left:24px;overflow:hidden;box-shadow:0 24px 60px #0f172a3d}.solver-modal-content{scrollbar-gutter:stable;gap:10px;min-height:0;padding:12px 14px 14px;display:grid;overflow:auto}.solver-modal-resize{z-index:10;touch-action:none;position:absolute}.solver-modal-resize-n,.solver-modal-resize-s{cursor:ns-resize;height:14px;left:18px;right:18px}.solver-modal-resize-n{top:0}.solver-modal-resize-s{bottom:0}.solver-modal-resize-e,.solver-modal-resize-w{cursor:ew-resize;width:14px;top:18px;bottom:18px}.solver-modal-resize-e{right:0}.solver-modal-resize-w{left:0}.solver-modal-resize-ne,.solver-modal-resize-nw,.solver-modal-resize-se,.solver-modal-resize-sw{width:24px;height:24px}.solver-modal-resize-ne{cursor:nesw-resize;top:0;right:0}.solver-modal-resize-nw{cursor:nwse-resize;top:0;left:0}.solver-modal-resize-se{cursor:nwse-resize;bottom:0;right:0}.solver-modal-resize-sw{cursor:nesw-resize;bottom:0;left:0}.solver-modal-header{cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.solver-modal-titlebar{color:#334155;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background:#f8fafc;border-bottom:1px solid #d9dde5;flex:none;align-items:center;gap:10px;min-height:38px;padding:0 14px;font-size:.82rem;font-weight:650;display:flex}.solver-modal-titlebar-title{flex:auto;min-width:0}.solver-modal-titlebar-grip{background-image:radial-gradient(circle,#94a3b8 1.3px,#0000 1.4px);background-position:0 0;background-size:5px 5px;border-radius:4px;width:16px;height:16px}.solver-modal-titlebar-actions{z-index:12;cursor:default;align-items:center;gap:6px;margin-left:auto;display:flex;position:relative}.solver-modal-titlebar-extra{min-width:0}.solver-modal-titlebar-progress{color:#334155;text-align:center;background:#f8fafc;border:1px solid #d9dde5;border-radius:999px;flex:none;min-width:40px;padding:3px 7px;font-size:.76rem;font-weight:650;line-height:1.2}.solver-modal-header-progress{flex:none;align-items:center;gap:8px;display:inline-flex}.solver-modal-elapsed-time{color:#64748b;white-space:nowrap;font-size:.78rem;font-weight:650;line-height:1.2}.solver-modal-icon-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:28px;min-width:28px;height:28px;margin:0;padding:0;display:inline-grid;position:relative}.solver-modal-icon-button:hover:not(:disabled),.solver-modal-icon-button:focus-visible:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.solver-modal-icon-button:disabled{opacity:.48;cursor:not-allowed}.solver-modal-icon-button.danger{color:#991b1b;background:#fff7f7;border-color:#fecaca}.solver-modal-icon-button.danger:hover:not(:disabled),.solver-modal-icon-button.danger:focus-visible:not(:disabled){background:#fef2f2;border-color:#fca5a5}.solver-modal-icon-button svg{fill:currentColor;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px;display:block}.solver-modal-icon-button rect{fill:currentColor}.solver-modal-icon-button path,.solver-modal-icon-button>svg>rect{fill:none}.solver-modal-icon-pause,.solver-modal-icon-resume{place-items:center;display:grid}.solver-modal-icon-button[data-paused=true] .solver-modal-icon-pause,.solver-modal-icon-button:not([data-paused=true]) .solver-modal-icon-resume{display:none}.solver-modal-tooltip{z-index:20;color:#475569;text-align:left;white-space:normal;pointer-events:none;background:#fff;border:1px solid #d9dde5;border-radius:8px;gap:3px;width:220px;padding:9px 10px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 32px #0f172a2e}.solver-modal-tooltip strong,.solver-modal-tooltip span{display:block}.solver-modal-tooltip strong{color:#0f172a;font-size:.8rem}.solver-modal-tooltip span{font-size:.76rem;font-weight:400;line-height:1.25}.solver-modal-icon-button:hover .solver-modal-tooltip,.solver-modal-icon-button:focus-visible .solver-modal-tooltip{display:grid}.solver-modal-header p{margin:4px 0 0}.solver-modal-header h3,.solver-modal-chart-header h4{min-width:0;margin:0}.solver-modal-progress{gap:4px;display:grid}.solver-modal-progress progress{width:100%;height:14px}.solver-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.solver-modal-actions button{width:auto;margin:0}.solver-modal-actions button.danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.solver-modal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.solver-modal-stats-four{grid-template-columns:repeat(4,minmax(0,1fr))}.solver-modal-stats-fluid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.solver-modal-stat{background:#f8fafc;border:1px solid #e3e6ec;border-radius:8px;padding:8px 10px}.solver-modal-stat span{color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;font-size:.76rem;display:block}.solver-modal-stat strong{color:#0f172a;font-size:1rem}.control-modal-card{width:min(520px,100vw - 16px)}.control-modal-content{display:block}.control-modal-content .tool-group{border:0;border-radius:0;margin:0;padding:0}.control-modal-content .tool-group h3{margin-top:0}[data-floating-modal=true]{resize:both;min-width:min(320px,100vw - 16px);min-height:180px;overflow:hidden;max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important}.solver-modal-card[data-floating-modal=true]{min-height:220px}[data-floating-modal-drag-handle=true],[data-solver-modal-drag-handle=true]{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}[data-floating-modal-drag-handle=true] button,[data-solver-modal-drag-handle=true] button{cursor:pointer}.solver-modal-body{gap:12px;padding:12px;display:grid;overflow:auto}.solver-modal-progress-card{background:#fff;border:1px solid #e3e6ec;border-radius:8px;padding:10px}.solver-modal-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.solver-modal-chart-header h3{margin:0;font-size:.95rem}.solver-modal-chart-header p{color:#64748b;margin:3px 0 0;font-size:.8rem}.solver-modal-progress-track{background:#edf2f8;border-radius:999px;height:7px;margin-top:10px;overflow:hidden}.solver-modal-progress-track span{border-radius:inherit;background:#2563eb;height:100%;display:block}@media (width<=720px){.solver-modal{padding:12px}.solver-modal-stats{grid-template-columns:1fr}.solver-modal-chart-header{flex-direction:column;align-items:flex-start}}@media (width<=900px){.solver-modal-stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.solver-modal-stats-four{grid-template-columns:minmax(0,1fr)}}:root{--bg:#f2f4f7;--panel:#fff;--line:#1f2937;--accent:#d9480f;--muted:#6b7280;--danger:#b91c1c;--cad-shell-gap:6.75px;--cad-resizer-line-size:2px;--cad-resizer-line-color:#cfd6e2;--cad-resizer-line-hover-color:#94a3b8}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--line);flex-direction:column;height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;overflow:hidden}#root,.cad-app-shell{flex-direction:column;flex:auto;min-height:0;display:flex}.topbar{z-index:3000;background:#fff;border-bottom:1px solid #d9dde5;flex:none;padding:7px 12px;position:relative;overflow:visible}.topbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.topbar-menubar{align-items:center;gap:10px;min-height:34px;display:flex}.topbar-logo{flex:none;place-items:center;width:32px;height:32px;display:grid}.topbar-logo .app-logo{filter:drop-shadow(0 2px 5px #0f172a1a);width:32px;height:32px}.topbar-title-block{gap:1px;min-width:0;margin-right:4px;line-height:1.05;display:grid}.topbar-title{color:#1f2937;white-space:nowrap;font-size:.96rem;font-weight:800}.topbar-subtitle{color:#64748b;white-space:nowrap;font-size:.68rem;font-weight:650}.file-menu{z-index:3100;position:relative}.file-menu-hidden-controls{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-menu-trigger{text-align:left;background:0 0;border-color:#0000;border-radius:5px;width:auto;min-width:56px;margin:0;padding:6px 12px;font-size:.92rem}.file-menu-trigger:hover,.file-menu-trigger[aria-expanded=true]{background:#f8fafc;border-color:#c8cfda}.file-menu-popover{z-index:3200;background:#fff;border:1px solid #c8cfda;border-radius:7px;min-width:260px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #0f172a29}.file-menu-popover button{text-align:left;background:0 0;border:0;border-radius:5px;width:100%;margin:0;padding:7px 9px;font-size:.9rem}.file-menu-popover button:hover{background:#f1f5f9}.file-menu-popover button:disabled{color:#94a3b8;cursor:default}.file-menu-popover button:disabled:hover{background:0 0}.file-menu-slide2{grid-template-columns:68px minmax(140px,1fr);align-items:center;gap:6px 8px;padding:6px 4px;display:grid}.file-menu-slide2 label{color:#64748b;font-size:.76rem;font-weight:700}.file-menu-slide2 input,.file-menu-slide2 select{border:1px solid #cbd5e1;border-radius:5px;min-width:0;margin:0;padding:5px 7px;font-size:.82rem}.file-menu-slide2 button{border:1px solid #cbd5e1;grid-column:2}.file-menu-separator{background:#e2e8f0;height:1px;margin:5px 3px}.jwg-topbar-modal-backdrop{z-index:6200;background:#0f172a2e;place-items:start center;padding:78px 16px 16px;display:grid;position:fixed;inset:0}.jwg-topbar-modal-backdrop.center{background:#0f172a59;place-items:center;padding:18px}.jwg-topbar-modal-card{background:#fff;border:1px solid #c8cfda;border-radius:8px;width:min(430px,100vw - 32px);padding:16px;box-shadow:0 20px 48px #0f172a38}.jwg-topbar-modal-card.narrow{width:min(380px,100vw - 32px)}.jwg-topbar-modal-card.wide{width:min(520px,100vw - 32px)}.jwg-topbar-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.jwg-topbar-modal-header h2{color:#1f2937;margin:0;font-size:1rem;line-height:1.25}.jwg-topbar-modal-body{margin-top:8px}.jwg-topbar-modal-body p{color:#475569;margin:0;font-size:.9rem;line-height:1.45}.jwg-topbar-modal-summary{color:#475569;background:#f8fafc;border-radius:6px;margin-top:10px;padding:9px;font-size:.72rem;line-height:1.35}.jwg-topbar-modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.jwg-topbar-modal-action{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:6px;min-width:78px;margin:0;padding:7px 11px;font-size:.88rem}.jwg-topbar-modal-action:hover:not(:disabled),.jwg-topbar-modal-action:focus-visible:not(:disabled){background:#f8fafc;border-color:#94a3b8}.jwg-topbar-modal-action.primary{color:#fff;background:#d9480f;border-color:#d9480f}.jwg-topbar-modal-action.primary:hover:not(:disabled),.jwg-topbar-modal-action.primary:focus-visible:not(:disabled){background:#c43d09;border-color:#c43d09}.jwg-topbar-modal-action.danger{color:#b91c1c;border-color:#dc2626}.jwg-topbar-modal-action.danger:hover:not(:disabled),.jwg-topbar-modal-action.danger:focus-visible:not(:disabled){background:#fef2f2;border-color:#b91c1c}.jwg-topbar-modal-action:disabled{cursor:default;opacity:.68}.legacy-conversion-backdrop{z-index:6400;background:#0f172a33;place-items:start center;padding:78px 16px 16px;display:grid;position:fixed;inset:0}.legacy-conversion-modal{background:#fff;border:1px solid #c8cfda;border-radius:8px;width:min(440px,100vw - 32px);padding:16px;box-shadow:0 20px 48px #0f172a38}.legacy-conversion-modal h2{color:#1f2937;margin:0 0 8px;font-size:1rem;line-height:1.25}.legacy-conversion-modal p{color:#475569;margin:0;font-size:.9rem;line-height:1.45}.legacy-conversion-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;gap:7px;margin:14px 0 0;padding:10px;display:grid}.legacy-conversion-details div{grid-template-columns:92px minmax(0,1fr);gap:10px;display:grid}.legacy-conversion-details dt,.legacy-conversion-details dd{min-width:0;margin:0;font-size:.84rem;line-height:1.35}.legacy-conversion-details dt{color:#64748b;font-weight:650}.legacy-conversion-details dd{color:#1f2937;overflow-wrap:anywhere}.legacy-conversion-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.legacy-conversion-actions button{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:6px;min-width:104px;margin:0;padding:7px 11px;font-size:.88rem}.legacy-conversion-actions button:hover:not(:disabled),.legacy-conversion-actions button:focus-visible:not(:disabled){background:#f8fafc;border-color:#94a3b8}.legacy-conversion-actions button.primary{color:#fff;background:#d9480f;border-color:#d9480f}.legacy-conversion-actions button.primary:hover:not(:disabled),.legacy-conversion-actions button.primary:focus-visible:not(:disabled){background:#c43d09;border-color:#c43d09}.layout{gap:var(--cad-shell-gap);padding:var(--cad-shell-gap);flex:auto;grid-template-columns:320px 1fr;min-height:0;display:grid;overflow:hidden}.panel{background:var(--panel);border:1px solid #d9dde5;border-radius:10px;min-height:0;padding:12px;overflow-y:auto}.layout.layout-geometry-dock.layout-left-explorer.layout-inspector-panel{grid-template-columns:max-content minmax(0, 1fr) var(--cad-inspector-width,320px)}.layout.layout-geometry-dock.layout-left-explorer.layout-no-inspector-panel{grid-template-columns:max-content minmax(0,1fr)}.layout.layout-geometry-dock.layout-no-left-explorer.layout-inspector-panel{grid-template-columns:minmax(0, 1fr) var(--cad-inspector-width,320px)}.layout.layout-geometry-dock.layout-no-left-explorer.layout-no-inspector-panel{grid-template-columns:minmax(0,1fr)}.sidebar-tabs{background:#f8fafc;border:1px solid #c8cfda;border-radius:8px;flex-wrap:nowrap;justify-content:flex-end;align-self:center;gap:0;padding:2px;display:flex}.sidebar-tabs button{background:0 0;border-color:#0000;border-radius:0;width:auto;min-width:112px;margin-bottom:0;padding-inline:14px}.sidebar-tabs button:first-child{border-radius:6px 0 0 6px}.sidebar-tabs button:last-child{border-radius:0 6px 6px 0}.sidebar-tabs button.active{background:#fff;border-color:#94a3b8;box-shadow:0 1px 3px #0f172a14}.tab-panel.hidden{display:none}.tool-group{border:1px solid #e3e6ec;border-radius:8px;margin-bottom:10px;padding:10px}.tool-group label:not(.file-label){color:var(--muted);margin-bottom:4px;font-size:.82rem;display:block}.tool-group label.toggle-row{display:flex}.tool-group input[type=text],.tool-group input[type=number],.tool-group input[type=range],.tool-group input[type=color],.tool-group select{border:1px solid #c8cfda;border-radius:6px;width:100%;margin-bottom:6px;padding:6px 8px}input.number-input-invalid,.tool-group input.number-input-invalid[type=number],.plot-toolbar input.number-input-invalid[type=number]{background:#fef2f2;border-color:#dc2626;box-shadow:0 0 0 2px #dc262629}.tool-group .checkbox-dropdown{margin-bottom:8px;position:relative}.slope-limit-pair-heading{color:var(--line);margin:10px 0 6px;font-size:.8rem;font-weight:800}.slope-limit-coordinate-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.slope-limit-coordinate-row input[type=number]{min-width:0}.parametric-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.parametric-actions button{width:auto;margin:0}.parametric-range-table-wrap{border:1px solid #e3e6ec;border-radius:8px;max-height:44vh;overflow:auto}.parametric-range-table{border-collapse:collapse;width:100%;font-size:.82rem}.parametric-range-table th,.parametric-range-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8edf5;padding:6px}.parametric-range-table th{z-index:1;color:#475569;background:#f8fafc;font-weight:600;position:sticky;top:0}.parametric-range-table td:first-child,.parametric-range-table th:first-child{width:54px}.parametric-range-table td:last-child,.parametric-range-table th:last-child{width:76px}.parametric-range-table input[type=number]{width:86px;min-width:0}@media (width<=720px){.parametric-range-table input[type=number]{width:74px}}.section-wizard-card{width:min(920px,100vw - 24px)}.section-wizard-slider-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;display:grid}.section-wizard-tabbed-params{gap:12px;min-width:0;display:grid}.section-wizard-tabs{background:#f8fafc;border:1px solid #d8dee8;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.section-wizard-tabs button{color:#64748b;background:0 0;border:0;border-radius:6px;min-width:0;margin:0;padding:8px 10px;font-size:.78rem;font-weight:800;line-height:1.1}.section-wizard-tabs button:hover,.section-wizard-tabs button:focus-visible{color:#123b72;background:#eef6ff}.section-wizard-tabs button.active{color:#0f2f5f;background:#fff;box-shadow:0 1px 3px #0f172a24}.section-wizard-tab-panel{min-width:0}.section-wizard-slider-row{gap:7px;min-width:0;display:grid}.section-wizard-slider-head{color:#475569;justify-content:space-between;align-items:center;gap:8px;min-width:0;font-size:.78rem;font-weight:700;display:flex}.section-wizard-slider-head label{overflow-wrap:anywhere;min-width:0;margin:0}.section-wizard-value{background:#fff;border:1px solid #d8dee8;border-radius:6px;flex:none;align-items:center;gap:4px;padding:2px 5px;display:flex}.section-wizard-value input{text-align:right;border:0;width:58px;margin:0;padding:0;font:.74rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.section-wizard-value span{color:#64748b;font-size:.72rem}.section-wizard-slider-row input[type=range]{accent-color:#2563eb;width:100%;margin:0}.section-wizard-toggle{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:45px;margin:0;padding:8px 10px;font-size:.78rem;font-weight:700;display:flex}.section-wizard-toggle input{width:16px;height:16px;margin:0}.section-wizard-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.section-wizard-actions button{width:auto;min-width:88px;margin:0}@media (width<=760px){.section-wizard-slider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.section-wizard-slider-grid,.section-wizard-tabs{grid-template-columns:1fr}}.validated-number-input[aria-invalid=true],.tool-group input.validated-number-input[aria-invalid=true],.cad-property-stack input.validated-number-input[aria-invalid=true],.compute-display-controls input.validated-number-input[aria-invalid=true],.slope-limit-coordinate-row input.validated-number-input[aria-invalid=true],.section-wizard-value input.validated-number-input[aria-invalid=true]{color:#7f1d1d;background:#fff7f7;border-color:#dc2626;box-shadow:0 0 0 1px #dc262633}.validated-number-input[aria-invalid=true]:focus{outline-offset:1px;outline:2px solid #dc262640}.section-wizard-value .validated-number-input[aria-invalid=true]{background:#fff7f7;box-shadow:inset 0 -1px #dc2626}.tool-group .checkbox-dropdown summary{width:100%;color:var(--text);cursor:pointer;background:#fff;border:1px solid #c8cfda;border-radius:6px;margin-bottom:0;padding:6px 28px 6px 8px;list-style:none}.tool-group .checkbox-dropdown summary::-webkit-details-marker{display:none}.tool-group .checkbox-dropdown summary:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--muted);position:absolute;top:13px;right:10px}.tool-group .checkbox-dropdown[open] summary:after{transform:rotate(180deg)}.tool-group .checkbox-dropdown-menu{background:#fff;border:1px solid #c8cfda;border-radius:6px;margin-top:4px;padding:6px}.material-status{color:#475569;margin:4px 0 0;font-size:.84rem}.section-heading,.tool-group h2,.tool-group h3,.tool-group .section-heading{color:var(--line);letter-spacing:0;text-transform:none;margin:0 0 8px;font-size:.95rem;font-weight:600;line-height:1.2}.section-subtitle{color:#64748b;margin:0;font-size:.82rem;font-weight:600;line-height:1.35}.panel-note-card{background:#fff;border:1px solid #e3e6ec;border-radius:8px;padding:10px}.panel-note-title{color:#475569;letter-spacing:0;text-transform:none;margin:0 0 8px;font-size:.75rem;font-weight:700;line-height:1.2}.panel-note-copy{color:#64748b;margin:0;font-size:.82rem;line-height:1.35}.panel-note-copy p{margin:0}.jwg-field-row{color:#64748b;gap:5px;font-size:.75rem;font-weight:700;display:grid}.panel-metric-label{color:#6b7280;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:.68rem;font-weight:700}.panel-metric-value{color:#1f2937}.panel-progress-track{background:#edf2f8;border-radius:999px;width:100%;height:6px;overflow:hidden}.panel-progress-fill{border-radius:inherit;background:#355a74;height:100%;transition:width .5s}.inspector-section-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.inspector-mode-chip{color:#526071;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#f7f9fc;border:1px solid #d8dee8;border-radius:999px;max-width:120px;padding:5px 9px;font-size:.68rem;font-weight:800;overflow:hidden}.inspector-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.inspector-metric-grid div{min-width:0}.inspector-metric-grid span{color:#667085;text-transform:uppercase;font-size:.68rem;font-weight:750;display:block}.inspector-metric-grid strong{color:#172033;margin-top:3px;font-size:1.05rem;display:block}.inspector-warning{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:7px;margin-top:14px;padding:8px 10px;font-size:.78rem;font-weight:700}.inspector-tool-button{color:#263244;background:#fff;border:1px solid #cbd4df;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:6px 8px;font-size:.74rem;font-weight:760;line-height:1.1;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.inspector-tool-button:hover{background:#f6f8fb;border-color:#9ba8b9}.inspector-tool-button.is-active{color:#0f554f;background:#e5f3f0;border-color:#7da89f}.inspector-tool-button.danger{color:#b91c1c;border-color:#fecaca}.inspector-tool-button.danger:hover,.inspector-tool-button.danger.is-active{color:#b91c1c;background:#fff1f2}.inspector-tool-button.danger.is-active{border-color:#fecaca}.inspector-tool-button:disabled{cursor:not-allowed;opacity:.45}.display-controls{gap:8px;display:grid}.display-controls-primary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.display-controls-primary .inspector-tool-button{min-width:0}.display-loop-button{white-space:nowrap}.results-dashboard{grid-template-rows:auto auto;gap:10px;height:auto;min-height:0;padding:0;display:grid;overflow:visible}.results-dashboard>.cad-property-section,.results-chart-grid>.cad-property-section,.results-chart-grid>.bg-amber-50{box-shadow:none;background:#fff;border:1px solid #e2e7ef;border-radius:8px;margin:0}.results-chart-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.results-chart-controls label{flex:none;margin:0}.results-chart-controls select{flex:auto;min-width:0}.results-detail-open-button{color:#1f4e79;white-space:nowrap;background:#eef5ff;border:1px solid #bfd3ec;border-radius:6px;flex:100%;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 9px;font-size:.72rem;font-weight:850;display:inline-flex}.results-detail-open-button:hover{background:#e1efff}.results-chart-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:10px;height:auto;min-height:0;display:grid}.results-chart-card{min-height:0;overflow:hidden}.results-chart-frame{width:100%;height:180px;min-height:180px}.results-empty-state{min-height:160px;padding:24px 14px}.results-empty-chart{padding:18px 14px}button,.file-label{cursor:pointer;text-align:center;width:100%;color:var(--line);background:#fff;border:1px solid #c8cfda;border-radius:6px;margin-top:0;margin-bottom:6px;padding:8px 10px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.2;display:block}button:hover,.file-label:hover{border-color:#9ca3af}button:disabled{cursor:not-allowed;opacity:.5}.hidden-file-input{display:none}.toggle-row{align-items:center;gap:8px;margin-bottom:8px;padding:4px 2px;font-weight:600;display:flex}.inline-toggle{margin:4px 0 8px;font-size:.84rem}.inline-toggle input{margin:0}.toggle-row input{width:16px;height:16px}button.danger{color:var(--danger);border-color:#f1b7b7}button.active{background:#e8f0ff;border-color:#8fb0e8}.vertex-editor{border-top:1px solid #e3e6ec;margin-top:8px;padding-top:8px}.vertex-editor label{color:var(--muted);margin-bottom:4px;font-size:.82rem;display:block}.vertex-editor input{border:1px solid #c8cfda;border-radius:6px;width:100%;margin-bottom:6px;padding:6px 8px}.vertex-editor.hidden{display:none}ul{color:var(--muted);margin:0;padding-left:16px}.canvas-wrap{background:#fff;border:1px solid #d9dde5;border-radius:10px;height:100%;min-height:0;position:relative;overflow:hidden}.cad-canvas-shell{width:100%;height:100%;min-height:0;box-shadow:none;background:#fff;border:0;border-radius:0;position:relative;overflow:hidden}.cad-floating-panel{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#fffffff0;border:1px solid #d7dde7;border-radius:7px;box-shadow:0 8px 22px #0f172a14}#cad-canvas{background:#fff;width:100%;height:100%;display:block}.plot-toolbar{z-index:10;background:#fffffff0;border:1px solid #d9dde5;border-radius:8px;min-width:170px;padding:8px;position:absolute;top:10px;left:12px}.plot-toolbar-toggle{z-index:10;background:#fffffff0;width:auto;min-width:140px;margin-bottom:0;position:absolute;top:10px;left:12px}.plot-toolbar-group{margin-bottom:6px}.plot-toolbar-group:last-child{margin-bottom:0}.plot-toolbar button{justify-content:center;align-items:center;gap:6px;margin-bottom:6px;display:inline-flex}.plot-toolbar .toggle-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.plot-toolbar-label{align-items:center;gap:6px;display:inline-flex}.plot-toolbar button svg,.plot-toolbar-label svg{flex:none}.plot-toolbar .toggle-row:last-child{margin-bottom:0}.cad-context-menu{z-index:6100;color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:7px;width:max-content;min-width:190px;padding:5px;position:fixed;box-shadow:0 16px 36px #0f172a38}.cad-context-menu-wide{width:220px}.cad-context-menu-title{color:#64748b;text-transform:uppercase;border-bottom:1px solid #e3e6ec;padding:5px 8px 7px;font-size:.68rem;font-weight:850}.cad-context-menu button{color:#1f2937;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;width:100%;min-height:28px;margin:3px 0 0;padding:6px 8px;font-size:.78rem;font-weight:750;display:block}.cad-context-menu button:hover:not(:disabled),.cad-context-menu button:focus-visible:not(:disabled){color:#123b72;background:#e8f0ff}.cad-context-menu button:disabled{cursor:not-allowed;opacity:.42}.cad-context-menu button.danger{color:#b91c1c}.cad-context-menu button.danger:hover:not(:disabled),.cad-context-menu button.danger:focus-visible:not(:disabled){color:#991b1b;background:#fee2e2}.cad-context-menu-section{gap:6px;padding:6px 2px 2px;display:grid}.cad-context-menu-section label,.cad-context-menu-label{color:#64748b;text-transform:uppercase;font-size:.68rem;font-weight:800}.cad-context-menu button.cad-context-menu-secondary{color:#334155;background:#f8fafc;border:1px solid #dbe3ee}.cad-hover-select-menu{z-index:6100;background:#fff;border:1px solid #c8cfda;border-radius:8px;width:220px;max-height:260px;padding:5px;position:fixed;overflow:auto;box-shadow:0 10px 26px #0f172a29}.cad-hover-select-menu button{text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr);gap:2px;width:100%;margin:0;padding:7px 8px;transition:background-color .12s;display:grid}.cad-hover-select-menu button:hover,.cad-hover-select-menu button:focus-visible{background:#eef2f7}.cad-hover-select-menu span,.cad-hover-select-menu small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.cad-hover-select-menu span{color:#0f172a;font-size:.86rem;font-weight:600}.cad-hover-select-menu small{color:#64748b;font-size:.76rem}.draw-command-bar{z-index:20;background:#fffffff0;border:1px solid #d9dde5;border-radius:8px;grid-template-columns:1fr;gap:4px;width:min(360px,100% - 24px);padding:8px;display:grid;position:absolute;bottom:41px;right:12px}.draw-command-bar label{color:#475569;font-size:.75rem;font-weight:600}.draw-command-bar input{border:1px solid #c8cfda;border-radius:6px;width:100%;padding:6px 8px;font-size:.9rem}.draw-command-bar input:disabled{color:#94a3b8;background:#f8fafc}.geometry-dock-shell{left:var(--geometry-dock-x,44px);top:var(--geometry-dock-y,50%);z-index:32;pointer-events:auto;justify-content:flex-start;align-items:center;gap:8px;max-width:none;display:none;position:absolute;transform:translateY(-50%)}.geometry-dock-shell.visible{display:flex}.geometry-dock-shell.positioned{transform:none}.geometry-dock-shell.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.geometry-dock-controls{z-index:2;opacity:0;pointer-events:none;visibility:hidden;grid-template-columns:none;grid-auto-flow:row;gap:5px;transition:opacity .12s,visibility 0s linear .12s;display:grid;position:absolute;top:0;left:-28px}.geometry-dock-shell.dragging .geometry-dock-controls,.geometry-dock-shell.controls-visible .geometry-dock-controls{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.geometry-dock-control{color:#475569;background:#fffffff5;border:1px solid #c8cfda;border-radius:6px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.geometry-dock-control:hover{color:#123b72;border-color:#94a3b8}.geometry-dock-control svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.geometry-dock-move-handle:active,.geometry-dock-shell.dragging .geometry-dock-move-handle{cursor:grabbing}.geometry-dock-chain{pointer-events:auto;justify-content:flex-start;align-items:center;gap:8px;display:flex;position:relative}.geometry-dock-chain:before{content:"";width:8px;height:100%;position:absolute;top:0;left:100%}.geometry-dock-shell.horizontal{align-items:flex-start;transform:translate(-50%)}.geometry-dock-shell.horizontal.positioned{transform:none}.geometry-dock-shell.horizontal .geometry-dock-controls{grid-template-columns:repeat(3,22px);grid-auto-flow:column;top:-28px;left:0}.geometry-dock-shell.horizontal .geometry-dock-chain{flex-direction:column;align-items:flex-start}.geometry-dock-shell.horizontal .geometry-dock-chain:before{width:100%;height:8px;top:100%;left:0}.geometry-dock{border:1px solid rgba(207, 214, 226, var(--geometry-dock-border-opacity,1));background:rgba(255, 255, 255, var(--geometry-dock-bg-opacity,.96));box-shadow:0 12px 28px rgba(15, 23, 42, var(--geometry-dock-shadow-opacity,.14));pointer-events:auto;border-radius:8px;gap:6px;padding:6px;display:grid;overflow:visible}.geometry-dock-shell.horizontal .geometry-dock{grid-template-columns:none;grid-auto-flow:column;align-items:start}.geometry-dock-root{flex-direction:column;align-items:center;gap:4px;max-width:none;max-height:none;display:flex;overflow:visible}.geometry-dock-root .geometry-dock-button{width:var(--geometry-dock-button-size,34px);height:var(--geometry-dock-button-size,34px)}.geometry-dock-root .geometry-dock-icon{width:var(--geometry-dock-icon-size,24px);height:var(--geometry-dock-icon-size,24px)}.geometry-dock-section{grid-template-rows:none;justify-items:center;gap:0;min-width:0;display:grid;position:relative}.geometry-dock-section-items{grid-auto-columns:auto;grid-auto-flow:row;justify-items:center;gap:6px;min-width:0;display:grid}.geometry-dock-section-label{z-index:1;color:#475569;opacity:.78;pointer-events:none;text-align:center;text-overflow:clip;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#ffffffeb;border:1px solid #cbd5e1db;border-radius:6px;width:max-content;max-width:132px;padding:4px 6px;font-size:.66rem;font-weight:800;line-height:1;transition:opacity .12s,transform .12s;display:block;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}:is(.geometry-dock-section:has(.geometry-dock-button:hover)>.geometry-dock-section-label,.geometry-dock-section:has(.geometry-dock-button:focus-visible)>.geometry-dock-section-label,.geometry-dock-section:has(.geometry-dock-button.open-group)>.geometry-dock-section-label){opacity:0;transform:translateY(-50%)translate(4px)}.geometry-dock-shell.horizontal .geometry-dock-root{height:auto;min-height:calc(var(--geometry-dock-button-size,34px) + 14px);flex-direction:row;align-items:center}.geometry-dock-shell.horizontal .geometry-dock-section{grid-template-rows:var(--geometry-dock-button-size,34px);align-self:center;align-items:center;width:max-content;display:grid;position:relative}.geometry-dock-shell.horizontal .geometry-dock-section-items{min-height:var(--geometry-dock-button-size,34px);grid-template-columns:none;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;width:max-content}.geometry-dock-shell.horizontal .geometry-dock-section-label{opacity:.82;max-width:156px;position:absolute;inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)}:is(.geometry-dock-shell.horizontal .geometry-dock-section:has(.geometry-dock-button:hover)>.geometry-dock-section-label,.geometry-dock-shell.horizontal .geometry-dock-section:has(.geometry-dock-button:focus-visible)>.geometry-dock-section-label,.geometry-dock-shell.horizontal .geometry-dock-section:has(.geometry-dock-button.open-group)>.geometry-dock-section-label){opacity:0;transform:translate(-50%)translateY(-4px)}.geometry-dock-child{max-width:min(640px,100vw - 48px);max-height:min(520px,100vh - 120px);position:absolute;top:0;left:calc(100% + 8px)}.geometry-dock-shell.horizontal .geometry-dock-child{left:0;top:calc(100% + 8px + max(0px, calc(var(--geometry-dock-root-grow-overflow,0px) - 15px)));height:auto;min-height:calc(var(--geometry-dock-child-button-size,34px) + 14px)}.geometry-dock-child.horizontal,.geometry-dock-shell.horizontal .geometry-dock-child.horizontal{min-width:calc(var(--geometry-dock-child-button-size,34px) + 14px);grid-template-columns:none;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center}.geometry-dock-child.vertical,.geometry-dock-shell.horizontal .geometry-dock-child.vertical{min-height:calc(var(--geometry-dock-child-button-size,34px) + 14px);grid-template-columns:none;grid-auto-rows:max-content;grid-auto-flow:row;justify-items:center}.geometry-dock-button{width:var(--geometry-dock-child-button-size,34px);height:var(--geometry-dock-child-button-size,34px);color:#334155;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;min-width:0;margin:0;padding:0;font-size:.72rem;line-height:1;transition:background-color .12s,border-color .12s,color .12s;display:grid;position:relative}.geometry-dock-button:hover,.geometry-dock-button:focus-visible{color:#123b72;background:#e8f0ff;border-color:#8fb0e8}.geometry-dock-button.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.geometry-dock-button.danger{color:#9f1239}.geometry-dock-button.danger:hover,.geometry-dock-button.danger:focus-visible{color:#991b1b;background:#fef2f2;border-color:#b91c1c52}.geometry-dock-button:disabled{opacity:.42;cursor:default}.geometry-dock-divider{width:var(--geometry-dock-button-size,34px);background:#d8dee8;border-radius:999px;place-self:auto center;height:1px;min-height:1px;margin:2px 0;display:block}.geometry-dock-shell.horizontal .geometry-dock-divider{width:1px;height:var(--geometry-dock-button-size,34px);align-self:end;min-height:1px;margin:0 2px}.geometry-dock-icon{width:var(--geometry-dock-child-icon-size,24px);height:var(--geometry-dock-child-icon-size,24px);pointer-events:none;place-items:center;display:grid}.geometry-dock-svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.geometry-dock-tooltip{z-index:2;color:#334155;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:max-content;max-width:180px;padding:5px 7px;font-size:.76rem;font-weight:700;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)translate(-4px);box-shadow:0 8px 18px #0f172a1f}.geometry-dock-tooltip:before{content:"";background:#fff;border-bottom:1px solid #cbd5e1;border-left:1px solid #cbd5e1;width:8px;height:8px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)rotate(45deg)}.geometry-dock-button:hover .geometry-dock-tooltip,.geometry-dock-button:focus-visible .geometry-dock-tooltip{opacity:1;transform:translateY(-50%)translate(0)}.geometry-dock-tooltip.root{left:auto;right:calc(100% + 10px);transform:translateY(-50%)translate(4px)}.geometry-dock-tooltip.root:before{border-top:1px solid #cbd5e1;border-bottom:0;border-left:0;border-right:1px solid #cbd5e1;left:auto;right:-5px;transform:translateY(-50%)rotate(45deg)}.geometry-dock-button:hover .geometry-dock-tooltip.root,.geometry-dock-button:focus-visible .geometry-dock-tooltip.root,.geometry-dock-button.open-group .geometry-dock-tooltip.root{opacity:1;transform:translateY(-50%)translate(0)}.geometry-dock-shell.horizontal .geometry-dock-tooltip{top:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(-4px)}.geometry-dock-shell.horizontal .geometry-dock-tooltip:before{border:0;border-top:1px solid #cbd5e1;border-left:1px solid #cbd5e1;top:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.geometry-dock-shell.horizontal .geometry-dock-button:hover .geometry-dock-tooltip,.geometry-dock-shell.horizontal .geometry-dock-button:focus-visible .geometry-dock-tooltip{transform:translate(-50%)translateY(0)}.geometry-dock-shell.horizontal .geometry-dock-tooltip.root{inset:auto auto calc(100% + 10px) 50%;transform:translate(-50%)translateY(4px)}.geometry-dock-shell.horizontal .geometry-dock-tooltip.root:before{border:1px solid #cbd5e1;border-top:0;border-left:0;inset:auto auto -5px 50%;transform:translate(-50%)rotate(45deg)}.geometry-dock-shell.horizontal .geometry-dock-button:hover .geometry-dock-tooltip.root,.geometry-dock-shell.horizontal .geometry-dock-button:focus-visible .geometry-dock-tooltip.root,.geometry-dock-shell.horizontal .geometry-dock-button.open-group .geometry-dock-tooltip.root{opacity:1;transform:translate(-50%)translateY(0)}.geometry-dock-child.vertical .geometry-dock-tooltip.child{inset:50% auto auto calc(100% + 10px);transform:translateY(-50%)translate(-4px)}.geometry-dock-child.vertical .geometry-dock-tooltip.child:before{border-top:0;border-bottom:1px solid #cbd5e1;border-left:1px solid #cbd5e1;border-right:0;inset:50% auto auto -5px;transform:translateY(-50%)rotate(45deg)}.geometry-dock-child.vertical .geometry-dock-button:hover .geometry-dock-tooltip.child,.geometry-dock-child.vertical .geometry-dock-button:focus-visible .geometry-dock-tooltip.child{transform:translateY(-50%)translate(0)}.geometry-dock-child.horizontal .geometry-dock-tooltip.child{inset:calc(100% + 10px) auto auto 50%;transform:translate(-50%)translateY(-4px)}.geometry-dock-child.horizontal .geometry-dock-tooltip.child:before{border:0;border-top:1px solid #cbd5e1;border-left:1px solid #cbd5e1;inset:-5px auto auto 50%;transform:translate(-50%)rotate(45deg)}.geometry-dock-child.horizontal .geometry-dock-button:hover .geometry-dock-tooltip.child,.geometry-dock-child.horizontal .geometry-dock-button:focus-visible .geometry-dock-tooltip.child{transform:translate(-50%)translateY(0)}.geometry-dock-settings-popover{left:calc(var(--geometry-dock-button-size,34px) + 50px);z-index:6;color:#334155;background:#fffffffa;border:1px solid #cbd5e1;border-radius:8px;width:238px;padding:10px;display:block;position:absolute;top:0;box-shadow:0 16px 34px #0f172a29}.geometry-dock-shell.vertical .geometry-dock-settings-popover{right:auto}.geometry-dock-shell.horizontal .geometry-dock-settings-popover{left:0;top:calc(var(--geometry-dock-button-size,34px) + 50px)}.geometry-dock-settings-heading{color:#1e293b;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:.82rem;font-weight:800;display:flex}.geometry-dock-settings-heading button{color:#64748b;background:0 0;border-radius:6px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.geometry-dock-settings-heading button:hover{color:#0f172a;background:#eef2f7}.geometry-dock-settings-heading svg{width:14px;height:14px}.geometry-dock-settings-row{color:#475569;gap:6px;margin:0 0 10px;font-size:.76rem;font-weight:700;display:grid}.geometry-dock-settings-row span{justify-content:space-between;gap:8px;display:flex}.geometry-dock-settings-row strong{color:#0f172a;font-size:.74rem}.geometry-dock-settings-row input[type=range]{accent-color:#2563eb;width:100%;margin:0}.geometry-dock-settings-reset{color:#334155;background:#f8fafc;border-radius:6px;width:100%;margin:0;padding:6px 8px;font-size:.76rem;font-weight:800}.geometry-dock-settings-reset:hover{color:#123b72;border-color:#94a3b8}.cad-viewport-status{color:#475569;pointer-events:auto;background:#ffffffeb;border:1px solid #cfd6e2;border-radius:8px;flex-wrap:wrap;gap:10px;width:fit-content;max-width:min(520px,100vw - 560px);padding:5px 8px;font-size:.76rem;font-weight:650;display:flex;box-shadow:0 8px 20px #0f172a14}.cad-viewport-status span{color:#64748b;font-weight:600}.cad-status-bar{color:#334155;background:#f8fafcfa;border-top:1px solid #cfd6e2;align-items:center;gap:14px;width:100%;min-height:33px;padding:3px 10px;font-size:.74rem;font-weight:650;display:flex;overflow-x:auto}.cad-shell-status-slot{flex:none;min-width:0}.cad-status-readout,.cad-status-group{align-items:center;gap:6px;min-width:0;display:flex}.cad-status-readout{flex:auto;overflow:hidden}.cad-status-readout span{color:#475569;flex:none;min-width:62px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cad-status-toggle{border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:0;height:22px;margin:0;padding:2px 7px;font-size:.72rem;line-height:1;display:inline-flex}.cad-status-toggle svg{flex:none}.cad-status-toggle.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.cad-status-snap-priority{align-items:center;gap:0;display:inline-flex}.cad-status-snap-priority .cad-status-toggle{border-radius:0;position:relative}.cad-status-snap-priority .cad-status-toggle+.cad-status-toggle{margin-left:-1px}.cad-status-snap-priority .cad-status-toggle:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.cad-status-snap-priority .cad-status-toggle:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.cad-status-priority-toggle{min-width:24px;padding-left:6px;padding-right:6px;font-weight:750}.cad-status-priority-toggle:disabled{opacity:.45;cursor:not-allowed}.cad-status-debug-toggle{min-width:44px;padding-left:8px;padding-right:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:800}.cad-status-angle-modal{z-index:48;color:#334155;background:#fff;border:1px solid #c5cede;border-radius:8px;width:min(316px,100vw - 16px);padding:8px;position:fixed;box-shadow:0 16px 40px #0f172a2e}.cad-status-angle-modal form{gap:8px;margin:0;display:grid}.cad-status-angle-modal-titlebar{color:#1f2937;justify-content:space-between;align-items:center;gap:8px;font-size:.78rem;font-weight:750;display:flex}.cad-status-angle-icon-button{border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;margin:0;padding:0;display:inline-flex}.cad-status-angle-field{color:#64748b;gap:4px;font-size:.7rem;font-weight:700;display:grid}.cad-status-angle-field input{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:4px;width:100%;height:28px;margin:0;padding:4px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.74rem;font-weight:600}.cad-status-angle-actions{justify-content:flex-end;gap:6px;display:flex}.cad-status-angle-actions button{border-radius:4px;width:auto;min-width:58px;height:26px;margin:0;padding:4px 9px;font-size:.72rem;font-weight:700}.cad-status-angle-actions button.primary{color:#123b72;background:#e6efff;border-color:#7aa2df}.cad-status-field{color:#64748b;white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cad-status-field input{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:4px;width:58px;height:22px;margin:0;padding:2px 5px;font-size:.72rem}.cad-toolbar-popover{pointer-events:auto;background:#fff;border:1px solid #cfd6e2;border-radius:8px;width:min(360px,100vw - 24px);max-height:min(520px,100vh - 120px);padding:10px;overflow:auto;box-shadow:0 14px 36px #0f172a29}.cad-popover-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cad-popover-header button{width:auto;margin:0;padding:5px 8px;font-size:.78rem}.cad-layer-grid{border-top:1px solid #eef2f7;grid-template-columns:minmax(130px,1fr) repeat(4,38px);align-items:center;gap:6px;min-height:28px;font-size:.8rem;display:grid}.cad-layer-grid-head{color:#64748b;border-top:0;font-weight:700}.cad-layer-grid input{justify-self:center;width:15px;height:15px}.cad-layer-name{align-items:center;gap:7px;min-width:0;font-weight:650;display:flex}.cad-layer-name i{border:1px solid #94a3b8;border-radius:3px;flex:none;width:12px;height:12px}.cad-inspector-sidebar{grid-template-rows:minmax(190px,.8fr) 10px minmax(0,1.2fr);gap:0;min-height:0;display:grid;position:relative;overflow:visible}.cad-sidebar-width-resizer,.left-explorer-panel-width-resizer{width:var(--cad-shell-gap);cursor:col-resize;position:absolute;top:0;bottom:0}.cad-sidebar-width-resizer{left:calc(-1 * var(--cad-shell-gap));z-index:6}.left-explorer-panel-width-resizer{right:calc(-1 * var(--cad-shell-gap));z-index:7}.cad-sidebar-width-resizer:before,.left-explorer-panel-width-resizer:before{content:"";top:18%;bottom:18%;left:calc(50% - var(--cad-resizer-line-size) / 2);width:var(--cad-resizer-line-size);background:var(--cad-resizer-line-color);opacity:0;border-radius:999px;transition:opacity .1s,background-color .1s;position:absolute}.cad-sidebar-width-resizer:hover:before,.left-explorer-panel-width-resizer:hover:before{background:var(--cad-resizer-line-hover-color);opacity:1}.cad-inspector-split-resizer{cursor:row-resize;position:relative}.cad-inspector-split-resizer:before{content:"";left:18%;right:18%;top:calc(50% - var(--cad-resizer-line-size) / 2);height:var(--cad-resizer-line-size);background:var(--cad-resizer-line-color);opacity:0;border-radius:999px;transition:opacity .1s,background-color .1s;position:absolute}.cad-inspector-split-resizer:hover:before{background:var(--cad-resizer-line-hover-color);opacity:1}.cad-inspector-pane{background:#fffffff5;border:1px solid #d9dde5;border-radius:10px;min-height:0;overflow:auto}.cad-inspector-panel-hidden{display:none}.cad-inspector-heading{z-index:1;cursor:pointer;background:#fffffffa;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;padding:10px 11px;transition:background-color .12s;display:flex;position:sticky;top:0}.cad-inspector-heading:hover{background:#f8fafc}.cad-inspector-pane.collapsed{overflow:hidden}.cad-inspector-pane-body{min-height:0;overflow:hidden}.cad-inspector-heading h3{color:#1f2937;margin:0;font-size:.88rem;font-weight:700}.cad-inspector-heading span{color:#64748b;font-size:.75rem;font-weight:700}.cad-inspector-heading button,.cad-property-actions button{width:auto;margin:0;padding:5px 8px;font-size:.78rem}.cad-property-stack{gap:10px;padding:11px;display:grid}.cad-property-stack label{color:#64748b;gap:5px;font-size:.75rem;font-weight:700;display:grid}.cad-property-stack label.toggle-row{color:#334155;align-items:center;gap:8px;font-size:.84rem;font-weight:600;display:flex}.cad-property-stack label.toggle-row span{min-width:0}.cad-property-stack input[type=text],.cad-property-stack input[type=number],.cad-property-stack input[type=color],.cad-property-stack textarea,.cad-property-stack select{color:#1f2937;border:1px solid #c8cfda;border-radius:6px;width:100%;margin:0;padding:6px 8px;font-size:.84rem}.cad-property-stack input[type=color]{min-height:32px;padding:3px}.cad-property-stack textarea{resize:vertical;min-height:72px}.cad-property-stack input[type=range]{width:100%;margin:0}.compute-display-controls{gap:7px;display:grid}.compute-display-tabs{background:#f8fafc;border:1px solid #c8cfda;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:2px;display:grid}.compute-display-tabs button{color:#475569;background:0 0;border:0;border-radius:4px;width:100%;min-height:26px;margin:0;padding:4px 7px;font-size:.74rem;font-weight:800}.compute-display-tabs button.active{color:#1d4ed8;background:#fff;box-shadow:0 0 0 1px #bfdbfe}.cad-property-stack .compute-display-controls label{margin:0}.cad-property-stack .compute-display-controls label.toggle-row{color:#1f2937;gap:6px;min-height:22px;font-size:.74rem;line-height:1.15}.compute-display-controls label.toggle-row input[type=checkbox]{flex:0 0 14px;width:14px;height:14px;margin:0}.cad-property-stack .compute-display-field{color:#64748b;gap:3px;font-size:.68rem;font-weight:700;line-height:1.1;display:grid}.compute-display-two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.compute-display-range-row{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:7px;display:grid}.compute-display-range-row output{color:#334155;text-align:right;font-size:.72rem;font-weight:800}.compute-display-controls input[type=number],.compute-display-controls select{border-radius:5px;min-height:27px;padding:4px 7px;font-size:.76rem;line-height:1.15}.compute-display-controls input[type=range]{width:100%;margin:0}.cad-dimension-properties{gap:10px;display:grid}.cad-property-section,.cad-coordinate-section{border-top:1px solid #edf2f7;gap:9px;padding-top:10px;display:grid}.cad-property-section-title{color:#64748b;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:800;display:flex}.cad-property-section-title strong{color:#334155;font-size:.72rem}.cad-style-swatches{grid-template-columns:repeat(6,24px);align-items:center;gap:8px;display:grid}.cad-style-swatches button,.cad-rainbow-swatch{cursor:pointer;border:1px solid #d5dbe4;border-radius:999px;width:24px;height:24px;margin:0;padding:0;position:relative;overflow:hidden}.cad-style-swatches button.active{outline-offset:2px;outline:2px solid #0ea5e9}.cad-rainbow-swatch input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.cad-rainbow-swatch span{background:radial-gradient(circle at 35% 35%,#ffffff5c 0 30%,#fff0 56%),conic-gradient(#ef4444,#f97316,#eab308,#22c55e,#06b6d4,#3b82f6,#a855f7,#ef4444);width:100%;height:100%;display:block}.cad-range-control{gap:7px;display:grid}.cad-range-control span{justify-content:space-between;align-items:center;gap:8px;display:flex}.cad-range-control strong{color:#334155;font-size:.72rem}.cad-line-controls-row{grid-template-columns:minmax(0,1.2fr) minmax(104px,.8fr);align-items:end;gap:10px;display:grid}.cad-line-type-control{gap:7px;display:grid}.cad-segmented{border:1px solid #cbd5e1;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.cad-segmented button{color:#475569;background:#fff;border:0;border-radius:0;width:100%;margin:0;padding:7px 8px;font-size:.76rem;font-weight:750}.cad-segmented button+button{border-left:1px solid #cbd5e1}.cad-segmented button.active{color:#fff;background:#0f766e}.cad-style-split{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;display:grid}.cad-property-tabs{background:#fff;border:1px solid #cbd5e1;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.cad-property-tabs button{color:#475569;background:#fff;border:0;border-radius:0;width:100%;margin:0;padding:7px 8px;font-size:.76rem;font-weight:750}.cad-inspector-heading .cad-property-tabs{border-color:#d5dbe4;flex:0 174px;width:min(174px,66%)}.cad-inspector-heading .cad-property-tabs button{padding:5px 7px;font-size:.7rem}.cad-property-tabs button+button{border-left:1px solid #cbd5e1}.cad-property-tabs button:hover{background:#f8fafc}.cad-property-tabs button.active{color:#fff;background:#0f766e}.cad-property-tab-panel{gap:10px;display:grid}.cad-coordinate-table{border-spacing:0;table-layout:fixed;background:#fff;border:1px solid #dce3ec;border-radius:8px;width:100%}.cad-coordinate-table th,.cad-coordinate-table td{vertical-align:middle;border-top:1px solid #edf2f7;min-width:0;padding:5px 7px}.cad-coordinate-table thead th{color:#64748b;text-align:left;text-transform:uppercase;background:#f8fafc;border-top:0;height:28px;font-size:.68rem;font-weight:800}.cad-coordinate-table th:first-child,.cad-coordinate-table td:first-child{width:28%}.cad-coordinate-table tbody tr{min-height:32px}.cad-coordinate-table tbody tr.selected{background:#eef6ff}.cad-coordinate-table tbody th{color:#334155;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:750;overflow:hidden}.cad-coordinate-scroll{max-height:178px;overflow:auto}.cad-coordinate-table input{width:100%;min-width:0;padding:4px 5px;font-size:.76rem}.cad-property-grid{color:#64748b;grid-template-columns:minmax(92px,.75fr) minmax(0,1fr);gap:6px 10px;padding:11px;font-size:.78rem;display:grid}.cad-property-stack .cad-property-grid{padding:0}.cad-property-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.cad-property-grid strong{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.cad-property-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.cad-property-checks label,.cad-inline-check{color:#334155;align-items:center;gap:7px;min-width:0;font-size:.8rem;font-weight:650;display:flex}.cad-property-checks input,.cad-inline-check input{flex:none;width:15px;height:15px}.cad-property-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.cad-layer-inspector{gap:4px;padding:8px;display:grid}.cad-layer-inspector-layer{background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .12s,box-shadow .12s,transform .12s;position:relative;overflow:visible}.cad-layer-inspector-layer>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 8px;list-style:none;display:grid}.cad-layer-inspector-layer>summary::-webkit-details-marker{display:none}.cad-layer-inspector-title{color:#1f2937;align-items:center;gap:7px;min-width:0;font-size:.8rem;font-weight:750;display:flex}.cad-layer-inspector-title i{border:1px solid #94a3b8;border-radius:3px;flex:none;width:12px;height:12px}.cad-layer-inspector-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-layer-inspector-layer.locked,.cad-layer-inspector-child.locked{opacity:.5}.cad-layer-inspector-layer.dragging,.cad-layer-inspector-child.dragging{opacity:.42;transform:scale(.99)}.cad-layer-inspector-toggles{align-items:center;gap:3px;display:flex}.cad-layer-inspector-toggles button{color:#64748b;background:0 0;border:0;border-radius:5px;place-items:center;width:24px;height:24px;margin:0;padding:0;display:grid}.cad-layer-inspector-toggles button:hover,.cad-layer-inspector-toggles button.active{color:#123b72;background:#eef6ff}.cad-layer-inspector-toggles svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.cad-layer-inspector-children{border-top:1px solid #eef2f7;gap:3px;padding:6px 8px 8px;display:grid}.cad-layer-inspector-child{color:#1f2937;text-align:left;cursor:grab;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin:0;padding:5px 6px;font-size:.76rem;transition:background-color .12s,box-shadow .12s,transform .12s;display:grid;position:relative}.cad-layer-inspector-child.static,.cad-layer-inspector-layer.static>summary{cursor:pointer}.cad-layer-inspector-child.indent{padding-left:18px}.cad-layer-inspector-child.hidden .cad-layer-inspector-child-label{color:#94a3b8}.cad-layer-inspector-layer.draggable>summary,.cad-layer-inspector-child.draggable{cursor:grab}.cad-layer-inspector-child.draggable:active,.cad-layer-inspector-layer.draggable>summary:active{cursor:grabbing}.cad-layer-inspector-child:hover,.cad-layer-inspector-child:focus-visible,.cad-layer-inspector-child.selected{background:#eef6ff}.cad-layer-inspector.dragging .cad-layer-inspector-child:hover:not(.selected),.cad-layer-inspector.dragging .cad-layer-inspector-child:focus-visible:not(.selected){background:0 0}.cad-layer-inspector-child-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cad-layer-inspector-child-actions{opacity:0;pointer-events:none;align-items:center;gap:2px;transition:opacity .1s;display:flex}.cad-layer-inspector-child:hover .cad-layer-inspector-child-actions,.cad-layer-inspector-child:focus-visible .cad-layer-inspector-child-actions,.cad-layer-inspector-child:focus-within .cad-layer-inspector-child-actions,.cad-layer-inspector-child.selected .cad-layer-inspector-child-actions{opacity:1;pointer-events:auto}.cad-layer-inspector.dragging .cad-layer-inspector-child-actions{opacity:0;pointer-events:none}.cad-layer-inspector-child-actions button{color:#64748b;background:0 0;border:0;border-radius:5px;place-items:center;width:22px;height:22px;margin:0;padding:0;display:grid}.cad-layer-inspector-child-actions button:hover,.cad-layer-inspector-child-actions button.active{color:#123b72;background:#eef6ff}.cad-layer-inspector-child-actions button.danger:hover{color:#991b1b;background:#fee2e2}.cad-layer-inspector-child-actions svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.cad-layer-inspector-layer.drop-before:before,.cad-layer-inspector-layer.drop-after:after,.cad-layer-inspector-child.drop-before:before,.cad-layer-inspector-child.drop-after:after{content:"";z-index:2;pointer-events:none;background:#2563eb;border-radius:999px;height:2px;position:absolute;left:8px;right:8px;box-shadow:0 0 0 2px #2563eb24}.cad-layer-inspector-layer.drop-before:before,.cad-layer-inspector-child.drop-before:before{top:-3px}.cad-layer-inspector-layer.drop-after:after,.cad-layer-inspector-child.drop-after:after{bottom:-3px}.cad-file-label{margin-bottom:8px}.cad-image-list{gap:4px;margin-bottom:8px;display:grid}.cad-image-list button,.cad-popover-actions button{margin-bottom:0}.cad-popover-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}@media (width<=980px){.topbar-inner{align-items:stretch}.sidebar-tabs{justify-content:flex-start}.sidebar-tabs button{flex:140px}.layout{grid-template-columns:1fr}.layout.layout-geometry-dock{grid-template-rows:minmax(220px,30vh) minmax(0,1fr) minmax(220px,30vh);grid-template-columns:1fr}.layout.layout-geometry-dock .scenario-sidebar,.layout.layout-geometry-dock .cad-inspector-sidebar{min-height:0}#cad-canvas{height:100%}.cad-viewport-status{max-width:100%}.geometry-dock-shell{left:var(--geometry-dock-x,10px);right:auto;top:var(--geometry-dock-y,50%);max-width:calc(100vw - var(--geometry-dock-x,10px) - 10px);align-items:center;bottom:auto;transform:translateY(-50%)}.geometry-dock-shell.positioned{transform:none}.geometry-dock-shell.horizontal{max-width:calc(100vw - 20px);transform:translate(-50%)}.geometry-dock-shell.horizontal.positioned{max-width:calc(100vw - var(--geometry-dock-x,10px) - 10px);transform:none}.geometry-dock-shell.horizontal .geometry-dock-controls,.geometry-dock-controls{grid-template-columns:repeat(3,22px);grid-auto-flow:column;top:-28px;left:0}.geometry-dock-shell.horizontal .geometry-dock-chain,.geometry-dock-chain{flex-direction:column-reverse;align-items:flex-start;width:100%}.geometry-dock-chain:before,.geometry-dock-shell.horizontal .geometry-dock-chain:before{display:none}.geometry-dock-shell.horizontal .geometry-dock,.geometry-dock-root{flex-direction:row;grid-template-columns:none;grid-auto-flow:column;align-items:center;max-width:100%;overflow-x:auto}.geometry-dock-root .geometry-dock-section-items{grid-template-columns:none;grid-auto-flow:column}.geometry-dock-section-label{display:none}.geometry-dock-shell.horizontal .geometry-dock-child,.geometry-dock-child{max-height:min(420px,100vh - 150px);position:relative;top:auto;left:auto;transform:none}.geometry-dock-tooltip{display:none}.geometry-dock-settings-popover,.geometry-dock-shell.vertical .geometry-dock-settings-popover{left:0;right:auto;top:calc(var(--geometry-dock-button-size,34px) + 50px);width:min(238px,100vw - 20px)}}.rockfall-app{--bg:#f2f4f7;--panel:#fff;--panel-soft:#fafcff;--line:#1f2937;--line-soft:#d9dde5;--line-mid:#c8cfda;--line-muted:#e3e6ec;--accent:#2563eb;--accent-soft:#e8f0ff;--primary-ink:#1f3551;--muted:#6b7280;--danger:#b91c1c;--shadow:0 4px 14px #0f172a0f;--shadow-soft:0 14px 34px #0f172a14;height:100vh;color:var(--line);flex-direction:column;display:flex;overflow:hidden}.rockfall-results-intro{border:1px solid var(--line-muted);background:#fff;border-radius:8px;padding:10px}.rockfall-toast{z-index:6500;color:#fff;box-shadow:var(--shadow-soft);background:#dc2626f5;border:1px solid #b91c1c2e;border-radius:10px;align-items:center;gap:12px;padding:12px 24px;display:flex;position:fixed;top:58px;left:50%;translate:-50%}.rockfall-toast span{font-weight:500}.rockfall-toast button{width:auto;color:inherit;background:0 0;border:0;margin:0 0 0 16px;padding:0}.rockfall-toast button:hover{color:#fecaca}.rockfall-canvas{background:#fff;width:100%;height:100%;display:block}.rockfall-canvas-hint,.rockfall-canvas-chip,.rockfall-canvas-legend{color:#475569}.rockfall-result-legend{z-index:30;pointer-events:none;position:absolute;bottom:124px;right:16px}.rockfall-export-button{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;background:#e8f0ff;border:1px solid #8fb0e8;border-radius:8px;padding:.45rem .8rem;font-size:.68rem;font-weight:700;box-shadow:0 4px 10px #2563eb24}.rockfall-drawer{border-top:1px solid var(--line-soft);background:#fffffffa;box-shadow:0 -18px 32px #0f172a1f}.rockfall-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a6b}.rockfall-modal{border:1px solid var(--line-soft);border-radius:14px;box-shadow:0 24px 48px #0f172a2e}.import-points-modal{width:min(672px,100vw - 48px);max-height:min(760px,100vh - 48px)}.rockfall-app{background:#edf1f5}.rockfall-stack-xs,.rockfall-stack-sm,.rockfall-stack-md,.rockfall-stack-lg,.rockfall-setting-copy,.rockfall-rock-preview-copy{display:grid}.rockfall-stack-xs{gap:4px}.rockfall-stack-sm{gap:8px}.rockfall-stack-md{gap:12px}.rockfall-stack-lg{gap:16px}.rockfall-row-between,.rockfall-title-row,.rockfall-setting-row,.rockfall-setting-actions,.rockfall-inline-control-row,.rockfall-rock-preview-row,.rock-props-custom-header,.rock-props-toggle-row{align-items:center;display:flex}.rockfall-row-between,.rockfall-setting-row,.rock-props-custom-header,.rock-props-toggle-row{justify-content:space-between;gap:8px}.rockfall-title-row{gap:8px}.rockfall-setting-row,.rockfall-setting-card{background:#fff;border:1px solid #f3f4f6;border-radius:8px;padding:8px}.rockfall-setting-row-spacious{gap:12px}.rockfall-setting-copy{gap:2px;min-width:0}.rockfall-setting-label,.rock-props-toggle-row>span,.rock-props-custom-header>span,.rock-props-custom-grid-head{color:#6b7280;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.rockfall-setting-note{color:#9ca3af;font-size:8px}.rockfall-mono-note,.rockfall-progress-value,.rockfall-metric-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.rockfall-progress-value{color:#475569;font-size:10px}.rockfall-setting-actions{flex:none;gap:8px}.rockfall-inline-number-label{color:#6b7280;text-transform:uppercase;align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.rockfall-compact-select,.rockfall-compact-input{color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;width:100%;min-width:0;padding:4px 8px;font-size:.75rem}.rockfall-short-input{width:80px}.rockfall-compact-input:focus{border-color:#3b82f6}.rockfall-heading-spaced{margin-bottom:12px}.rockfall-heading-spaced-lg{margin-bottom:16px}.rockfall-heading-tight{margin-bottom:8px}.rockfall-no-margin{margin:0}.rockfall-note-title-spaced{margin-bottom:4px}.rockfall-muted-icon{color:#64748b}.rockfall-hidden-input{display:none}.rockfall-small-button,.rockfall-icon-button,.rockfall-generate-button,.rockfall-switch{cursor:pointer}.rockfall-small-button.primary,.rockfall-small-button.is-active{color:#1f3551;background:#e8f0ff;border-color:#8fb0e8}.rockfall-small-button.primary:hover{background:#dbe7ff}.rockfall-small-button:disabled,.rockfall-icon-button:disabled,.rockfall-switch:disabled{cursor:not-allowed;opacity:.5}.rockfall-small-button{color:#334155;text-transform:uppercase;background:#fff;border:1px solid #c8cfda;border-radius:4px;flex:none;padding:4px 10px;font-size:10px;font-weight:700;transition:background-color .12s,border-color .12s,color .12s}.rockfall-small-button:hover{background:#f8fafc;border-color:#94a3b8}.rockfall-small-button.outline{background:#fff}.rockfall-icon-button{color:#475569;background:#fff;border:1px solid #e5e7eb;border-radius:6px;place-items:center;width:auto;min-width:0;margin:0;padding:6px;transition:background-color .12s,color .12s;display:inline-grid}.rockfall-icon-button:hover{background:#f9fafb}.rockfall-icon-button.danger{color:#ef4444;border-color:#0000}.rockfall-icon-button.danger:hover{background:#fef2f2}.rockfall-inline-control-row{gap:8px;min-width:0}.rockfall-inline-control-row .rockfall-compact-select{flex:auto}.rockfall-setting-row>.rockfall-compact-select{flex:none;width:auto;min-width:128px}.rockfall-material-swatch,.rockfall-legend-swatch{border:1px solid #e5e7eb;border-radius:3px;flex:none}.rockfall-material-swatch{width:16px;height:16px}.rockfall-angle-range-labels{color:#64748b;text-transform:uppercase;justify-content:space-between;font-size:9px;font-weight:700;display:flex}.rockfall-range-track{background:#e2e8f0;border-radius:8px;width:100%;height:8px}.rockfall-range-thumb{cursor:grab;background:#334155;border-radius:999px;width:16px;height:16px;box-shadow:0 1px 3px #0f172a29}.rockfall-switch{background:#e5e7eb;border:0;border-radius:999px;width:32px;height:16px;padding:0;transition:background-color .12s;position:relative}.rockfall-switch.is-on{background:#334155}.rockfall-switch span{background:#fff;border-radius:999px;width:12px;height:12px;transition:translate .12s;position:absolute;top:2px;left:2px}.rockfall-switch.is-on span{translate:18px}.rockfall-progress-summary{gap:6px;margin-top:12px;display:grid}.rockfall-generate-button{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#1f2937;border:0;border-radius:8px;width:100%;padding:8px 12px;font-size:.75rem;font-weight:700;transition:background-color .12s}.rockfall-generate-button:hover{background:#000}.rockfall-rock-preview-row{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;gap:12px;margin-top:12px;padding:12px}.rockfall-rock-preview-copy{color:#64748b;gap:4px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.rockfall-rock-preview-name{color:#334155;font-family:var(--font-body,inherit);font-size:.75rem;font-weight:700}.rockfall-metric-mono{font-size:.75rem;line-height:20px}.rockfall-metric-mono.large{font-size:.875rem}.rock-shape-diagram{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:none}.rockfall-canvas-mode-overlay{gap:8px;display:grid;position:absolute;top:16px;left:48px}.rockfall-canvas-chip{padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.canvas-overlay-toolbar{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:16px;right:16px}.rockfall-overlay-button-row{gap:8px;display:flex}.canvas-layer-popover{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.rockfall-canvas-legend{flex-direction:column;gap:8px;padding:12px;display:flex}.rockfall-material-legend{min-width:120px}.rockfall-seeder-legend,.rockfall-collector-legend{min-width:150px}.rockfall-barrier-legend{min-width:160px}.rockfall-legend-title{color:#6b7280;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.rockfall-legend-list,.rockfall-legend-entry{flex-direction:column;display:flex}.rockfall-legend-list{gap:6px}.rockfall-legend-entry{gap:4px}.rockfall-legend-entry-header,.rockfall-result-scale{align-items:center;gap:8px;display:flex}.rockfall-legend-swatch{width:12px;height:12px}.rockfall-legend-label{color:#4b5563;font-size:10px;font-weight:500}.rockfall-legend-meta{color:#9ca3af;padding-left:20px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px}.rockfall-legend-mono-entry{color:#4b5563;border-bottom:1px solid #f3f4f6;padding-bottom:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px}.rockfall-legend-entry-title{color:#374151;font-weight:700}.rockfall-legend-line{flex:none;height:2px}.rockfall-legend-line.collector{background:#8b5cf6;width:12px}.rockfall-legend-line.barrier{background:#dc2626;width:16px}.rockfall-result-scale{gap:12px}.rockfall-result-scale span{color:#9ca3af;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.rockfall-result-gradient{background:linear-gradient(90deg,#1a1ae6,#1ae6e6,#1ae61a,#e6e61a,#e61a1a);border-radius:999px;width:128px;height:8px}.results-empty-icon{color:#9ca3af;background:#f3f4f6;border-radius:999px;place-items:center;width:48px;height:48px;margin-inline:auto;display:grid}.results-empty-icon.warning{color:#d97706;background:#fef3c7}.results-empty-title{color:#6b7280;font-size:.875rem}.results-empty-title.warning{color:#92400e;font-weight:700}.results-empty-copy{color:#9ca3af;font-size:.75rem}.results-empty-copy.warning{color:#b45309}.no-stopped-rocks{text-align:center;background:#fffbeb;border:1px solid #fef3c7;border-radius:12px;gap:12px;padding:48px 24px;display:grid}.rock-props-custom-header{gap:8px}.rock-props-custom-grid{grid-template-columns:1.5rem minmax(0,1fr) minmax(0,1fr) 2rem;align-items:center;gap:8px;display:grid}.rock-props-custom-grid-head{color:#9ca3af}.rock-props-custom-index{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem}.rock-props-toggle-row{background:#f9fafb;border-radius:6px;padding:8px 12px}.collector-model-list,.seeder-model-list{gap:6px;max-height:210px;padding-right:3px;display:grid;overflow-y:auto}.collector-model-row,.seeder-model-row{color:#334155;text-align:left;background:#fff;border:1px solid #e2e7ef;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:34px;padding:7px 8px;display:flex}.collector-model-row:hover,.seeder-model-row:hover{background:#f8fafc;border-color:#cbd4df}.collector-model-row.is-active,.seeder-model-row.is-active{color:#193b68;background:#edf5ff;border-color:#82a7d7}.collector-model-row span,.seeder-model-row span{font-size:.76rem;font-weight:800}.collector-model-row strong,.seeder-model-row strong{color:#526071;font-variant-numeric:tabular-nums;flex:none;font-size:.72rem;font-weight:800}.material-number-pair{gap:6px;display:grid}.material-number-pair-header{color:#526071;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.68rem;font-weight:800;display:flex}.material-number-pair-header small{color:#98a2b3;text-transform:none;font-size:.66rem;font-weight:750}.material-number-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.material-number-input{gap:3px;display:grid!important}.material-number-input span{color:#98a2b3;text-transform:uppercase;font-size:.6rem;font-weight:800;line-height:1}.material-number-input input{text-align:right;font-variant-numeric:tabular-nums;width:100%}.material-number-input input.is-invalid{color:#9f1239;background:#fff7f8;border-color:#fda4af}.material-number-error{color:#be123c;text-align:right;font-size:.58rem;font-weight:800;line-height:1}.material-property-table-wrap{background:#fff;border:1px solid #e1e6ee;border-radius:7px;overflow:hidden}.material-property-table{border-collapse:collapse;table-layout:fixed;width:100%}.material-property-table th,.material-property-table td{border-bottom:1px solid #edf1f6;padding:5px 6px}.material-property-table tr:last-child th,.material-property-table tr:last-child td{border-bottom:0}.material-property-table thead th{color:#7a8799;text-align:right;text-transform:uppercase;background:#f8fafc;font-size:.58rem;font-weight:850;line-height:1}.material-property-table thead th:first-child{text-align:left}.material-property-table tbody th{color:#526071;text-align:left;font-size:.68rem;font-weight:850;line-height:1.15}.material-property-table tbody td{width:34%}.material-property-cell{color:#263244;text-align:right;font-variant-numeric:tabular-nums;background:#f9fafc;border:1px solid #0000;border-radius:4px;width:100%;height:24px;padding:0 5px;font-size:.72rem;font-weight:750}.material-property-cell:focus{outline-offset:0;background:#fff;border-color:#8fb0e8;outline:2px solid #dbe8ff}.material-property-cell.is-invalid{color:#9f1239;background:#fff7f8;border-color:#fda4af}.material-property-cell::-webkit-outer-spin-button{appearance:none;margin:0}.material-property-cell::-webkit-inner-spin-button{appearance:none;margin:0}.material-property-cell[type=number]{appearance:textfield}.reference-image-list{gap:7px;display:grid}.reference-image-row{background:#fff;border:1px solid #e2e7ef;border-radius:7px;grid-template-columns:minmax(0,1fr) 24px 24px;align-items:center;gap:6px;padding:7px;display:grid}.reference-image-row.is-active{background:#edf5ff;border-color:#82a7d7}.reference-image-name{color:#263244;text-align:left;background:0 0;border:0;min-width:0;padding:0}.reference-image-name span,.reference-image-name strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reference-image-name span{font-size:.76rem;font-weight:800}.reference-image-name strong{color:#667085;margin-top:2px;font-size:.66rem;font-weight:760}.reference-image-opacity{grid-column:1/-1;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:7px;display:grid!important}.reference-image-opacity span{color:#667085;text-transform:uppercase;font-size:.62rem;font-weight:800}.reference-image-icon-button{color:#526071;background:#fff;border:1px solid #cbd4df;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.reference-image-icon-button:hover{background:#f6f8fb}.reference-image-icon-button.danger{color:#b91c1c;border-color:#fecaca}.reference-image-icon-button.danger:hover{background:#fff1f2}.image-calibration-backdrop{z-index:80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-calibration-modal{background:#fff;flex-direction:column;width:min(1080px,96vw);min-width:min(620px,100vw - 16px);min-height:min(420px,100vh - 16px);max-height:min(760px,92vh);display:flex;overflow:hidden}.image-calibration-header,.image-calibration-footer{border-bottom:1px solid #e4e8ef;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.image-calibration-header h2{color:#172033;margin:0;font-size:1rem;font-weight:780}.image-calibration-header span{color:#667085;margin-top:2px;font-size:.74rem;font-weight:650;display:block}.image-calibration-footer{background:#fbfcfe;border-top:1px solid #e4e8ef;border-bottom:0;justify-content:flex-end}.image-calibration-body{flex:auto;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;min-height:0;padding:16px;display:grid;overflow:auto}.image-calibration-preview-column,.image-calibration-form-column{min-width:0;min-height:0}.image-calibration-preview-column{flex-direction:column;gap:8px;display:flex}.image-calibration-preview{background:#f8fafc;border:1px solid #d7dde7;border-radius:8px;width:100%;max-height:100%;position:relative;overflow:hidden}.image-calibration-preview img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.image-calibration-marker{color:#fff;background:#2563eb;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.68rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 7px #0f172a40}.image-calibration-marker.is-active{background:#0f554f}.image-calibration-stats{color:#526071;align-items:center;gap:8px;font-size:.72rem;font-weight:760;display:flex}.image-calibration-form-column{flex-direction:column;gap:10px;display:flex}.image-calibration-toolbar{align-items:center;gap:8px;display:flex}.image-calibration-toolbar select{color:#263244;border:1px solid #c8cfda;border-radius:7px;flex:auto;min-width:0;padding:6px 8px}.image-calibration-table-wrap{border:1px solid #e2e7ef;border-radius:8px;flex:auto;min-height:0;overflow:auto}.image-calibration-table{border-collapse:collapse;width:100%;min-width:520px;font-size:.74rem}.image-calibration-table th{z-index:1;color:#334155;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e7ef;padding:7px 6px;font-weight:760;position:sticky;top:0}.image-calibration-table td{border-bottom:1px solid #edf0f4;padding:0}.image-calibration-table tr.is-active td{background:#edf5ff}.image-calibration-table input{color:#263244;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;width:100%;min-height:30px;padding:6px}.image-calibration-residual-cell{color:#475569;white-space:nowrap;font-size:.7rem;font-weight:800;padding:6px!important}.image-calibration-point-button,.image-calibration-delete-button,.image-calibration-icon-button{color:#526071;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:800;display:inline-flex}.image-calibration-point-button:hover,.image-calibration-delete-button:hover,.image-calibration-icon-button:hover{background:#f1f5f9}.image-calibration-delete-button{color:#b91c1c}.image-calibration-delete-button:disabled{cursor:not-allowed;opacity:.35}.image-calibration-error{color:#991b1b;background:#fff1f2;border:1px solid #fecaca;border-radius:7px;padding:7px 9px;font-size:.76rem;font-weight:760}.image-calibration-primary-button,.image-calibration-secondary-button{border-radius:7px;min-height:34px;padding:0 12px;font-size:.78rem;font-weight:780}.image-calibration-primary-button{color:#0f554f;background:#e7f5f2;border:1px solid #1f7a70}.image-calibration-primary-button[aria-disabled=true]{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.image-calibration-secondary-button{color:#263244;background:#fff;border:1px solid #cbd4df}@media (width<=860px){.image-calibration-body{grid-template-columns:1fr;overflow:auto}}.rockfall-export-button{color:#334155;box-shadow:none;background:#fff;border-color:#cbd4df;align-items:center;gap:6px;display:inline-flex}.rockfall-export-button:hover{background:#f6f8fb}.rockfall-export-button.is-active{color:#0f554f;background:#e5f3f0;border-color:#7da89f}.rockfall-export-button:disabled{cursor:not-allowed;opacity:.45}.canvas-layer-popover{max-height:min(62vh,520px);overflow:auto}.workspace-drawer{background:#fff;border-top:1px solid #cfd6e1;flex-direction:column;flex:0 0 clamp(260px,34vh,430px);min-height:0;display:flex}.coordinate-table-modal{background:#fff;flex-direction:column;width:min(1120px,100vw - 32px);height:min(720px,100vh - 32px);display:flex;overflow:hidden}.workspace-drawer-tabs{align-items:center;gap:6px;display:flex}.workspace-drawer-title{color:#526071;align-items:center;gap:7px;font-size:.78rem;font-weight:760;display:inline-flex}.workspace-drawer-tab{color:#526071;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:.78rem;font-weight:760;display:inline-flex}.workspace-drawer-tab:hover{color:#1d2939;background:#fff;border-color:#d4dae4}.workspace-drawer-tab.is-active{color:#193b68;background:#edf5ff;border-color:#82a7d7}.workspace-drawer-tab:disabled{cursor:not-allowed;opacity:.45}.workspace-drawer-body{flex:auto;min-height:0;overflow:hidden}.coordinate-table-panel{flex-direction:column;height:100%;min-height:0;display:flex}.coordinate-table-toolbar{border-bottom:1px solid #edf0f4;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.coordinate-table-toolbar h3{color:#172033;margin:0;font-size:.92rem;font-weight:780}.coordinate-table-toolbar span{color:#667085;margin-top:2px;font-size:.72rem;font-weight:650;display:block}.coordinate-import-button{color:#263244;background:#fff;border:1px solid #cbd4df;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.coordinate-import-button:hover{background:#f6f8fb}.terrain-sheet-toolbar{flex-wrap:wrap;align-items:flex-start}.terrain-sheet-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.coordinate-import-button.primary{color:#0f554f;background:#e7f5f2;border-color:#1f7a70}.coordinate-import-button.primary[aria-disabled=true]{color:#64748b;background:#f1f5f9;border-color:#cbd5e1}.coordinate-import-button.danger{color:#991b1b;border-color:#fecaca}.terrain-sheet-status{color:#475569;background:#f8fafc;border-bottom:1px solid #edf0f4;min-height:30px;margin:0;padding:8px 16px;font-size:.74rem;font-weight:750}.terrain-sheet-status.error{color:#991b1b;background:#fff1f2}.terrain-sheet-status.warning{color:#92400e;background:#fffbeb}.results-report-toolbar{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.results-report-toolbar label,.results-report-section label{color:#526071;text-transform:uppercase;gap:4px;min-width:0;margin:0;font-size:.68rem;font-weight:800;display:grid}.results-report-toolbar select{color:#1f2937;background:#fff;border:1px solid #d5dce7;border-radius:6px;width:100%;min-width:0;height:30px;font-size:.76rem;font-weight:650}.results-report-export{color:#1f4e79;background:#eef5ff;border:1px solid #bfd3ec;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:30px;font-size:.72rem;font-weight:850;display:inline-flex}.results-report-export:disabled{cursor:not-allowed;opacity:.45}.results-report-section{gap:8px;min-width:0;padding:10px;display:grid}.results-report-section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.results-report-section-heading h2{color:#172033;margin:0;font-size:.78rem;font-weight:850}.results-percentile-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.results-report-metric{background:#f8fafc;border:1px solid #e5eaf1;border-radius:6px;gap:2px;min-width:0;padding:7px 6px;display:grid}.results-report-metric span{color:#667085;text-transform:uppercase;font-size:.62rem;font-weight:850}.results-report-metric strong{color:#172033;overflow-wrap:anywhere;min-width:0;font-size:.78rem;font-weight:850}.results-table-scroll{min-width:0;overflow:auto}.results-table-scroll.compact{max-height:190px}.results-table-scroll.per-rock{max-height:330px}.results-report-table{border-collapse:separate;border-spacing:0;color:#263244;width:100%;min-width:520px;font-size:.72rem}.results-table-scroll.per-rock .results-report-table{min-width:1050px}.results-report-table thead{z-index:1;background:#fff;position:sticky;top:0}.results-report-table th,.results-report-table td{text-align:left;vertical-align:middle;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:6px 7px}.results-report-table th{color:#667085;text-transform:uppercase;font-size:.62rem;font-weight:850}.results-report-table td{color:#263244;font-weight:650}.results-report-empty-row{color:#667085;text-align:center;border:1px dashed #d8e0ea;border-radius:6px;padding:9px 10px;font-size:.72rem;font-weight:700}.results-status-pill{color:#334155;background:#f8fafc;border:1px solid #cfd8e5;border-radius:999px;justify-content:center;align-items:center;min-height:20px;padding:0 7px;font-size:.64rem;font-weight:850;display:inline-flex}.results-status-pill.stopped{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.results-status-pill.outOfBounds{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.results-status-pill.maxIterations{color:#92400e;background:#fffbeb;border-color:#fde68a}.coordinate-table-scroll{flex:auto;min-height:0;padding:0 14px 14px;overflow:auto}.terrain-sheet-scroll{padding-top:12px}.coordinate-table{border-collapse:separate;border-spacing:0;color:#263244;width:100%;font-size:.82rem}.coordinate-table thead{z-index:1;color:#667085;text-transform:uppercase;background:#fff;font-size:.68rem;position:sticky;top:0}.coordinate-table th{white-space:nowrap;border-bottom:1px solid #e4e8ef}.coordinate-table td{border-bottom:1px solid #f0f2f6}.coordinate-table tr:hover{background:#f8fafc}.terrain-sheet-table{table-layout:fixed}.terrain-sheet-table th{-webkit-user-select:none;user-select:none}.terrain-sheet-table th[data-terrain-column],.terrain-sheet-table .row-number-cell{cursor:cell}.terrain-sheet-table .row-number-head,.terrain-sheet-table .row-number-cell{text-align:center;width:54px;min-width:54px}.terrain-sheet-table th.is-cell-selected,.terrain-sheet-table td.is-cell-selected,.terrain-sheet-table .row-number-cell.is-cell-selected,.terrain-sheet-table tr.is-cell-row-selected .row-number-cell{background:#eaf2ff}.terrain-sheet-table td.is-cell-anchor{background:#dceafe}.terrain-sheet-table td.is-error{background:#fff1f2}.terrain-sheet-table td.is-warning{background:#fffbeb}.terrain-sheet-cell{color:#263244;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;width:100%;min-width:0;padding:5px 7px;font-size:.78rem}.terrain-sheet-cell.is-cell-selected{color:#102a56}.terrain-sheet-cell:focus{background:#fff;border-color:#7da7dc;box-shadow:0 0 0 1px #7da7dc3d}.terrain-sheet-cell.is-cell-anchor:focus{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.terrain-sheet-cell.is-error{background:#fff7f7;border-color:#fca5a5}.terrain-sheet-cell.is-warning{background:#fffdf2;border-color:#fcd34d}.terrain-sheet-cell:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc}.terrain-sheet-context-popover,.terrain-sheet-insert-popover{z-index:7600;background:#fff;border:1px solid #cfd6e1;border-radius:8px;position:fixed;box-shadow:0 14px 34px #0f172a29}.terrain-sheet-context-popover{min-width:148px;padding:5px}.terrain-sheet-context-popover button{color:#172033;width:100%;min-height:31px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:7px 10px;font-size:.78rem;font-weight:700;display:flex}.terrain-sheet-context-popover button:hover,.terrain-sheet-context-popover button:focus-visible{color:#1d4ed8;background:#edf5ff;outline:none}.terrain-sheet-insert-popover{width:min(248px,100vw - 20px);padding:10px}.terrain-sheet-insert-form{gap:9px;display:grid}.terrain-sheet-insert-title{color:#172033;font-size:.82rem;font-weight:760;line-height:1.15}.terrain-sheet-insert-field{color:#435268;gap:4px;font-size:.74rem;font-weight:700;display:grid}.terrain-sheet-insert-field input{color:#172033;width:100%;min-height:30px;font:inherit;border:1px solid #cfd6e1;border-radius:6px;padding:5px 8px;font-size:.8rem}.terrain-sheet-insert-field input:focus{border-color:#7da7dc;outline:none;box-shadow:0 0 0 2px #7da7dc33}.terrain-sheet-insert-field input.is-invalid{background:#fff7f7;border-color:#dc2626}.terrain-sheet-insert-error{color:#b91c1c;margin:-2px 0 0;font-size:.72rem;font-weight:650;line-height:1.25}.terrain-sheet-insert-actions{justify-content:flex-end;gap:8px;display:flex}.coordinate-table input,.coordinate-table select{color:#263244}.soft-number-input.is-invalid{color:#991b1b;background-color:#fef2f2!important;border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261f!important}.soft-number-input.is-invalid:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26262e!important}.rockfall-canvas-stage{width:100%;height:100%;min-height:0}.material-properties-card{width:min(900px,100vw - 32px);min-width:min(560px,100vw - 16px);min-height:min(420px,100vh - 16px)}.compute-modal-card{width:min(560px,100vw - 32px);min-width:min(380px,100vw - 16px);min-height:min(280px,100vh - 16px)}.detailed-results-modal-card{width:min(1120px,100vw - 32px);min-width:min(720px,100vw - 16px);min-height:min(560px,100vh - 16px);max-height:min(860px,100vh - 48px)}.detailed-results-modal-body{background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;padding:12px;display:grid;overflow:auto}.detailed-results-toolbar{grid-column:1/-1;grid-template-columns:minmax(180px,1fr) auto}.detailed-results-per-rock{grid-column:1/-1}.documentation-modal-card{width:min(1180px,100vw - 32px);min-width:min(820px,100vw - 16px);min-height:min(560px,100vh - 16px);max-height:min(860px,100vh - 48px)}.documentation-modal-body{background:#fff;grid-template-columns:minmax(180px,240px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.documentation-nav{background:#f8fafc;border-right:1px solid #d9dde5;flex-direction:column;gap:3px;min-height:0;padding:12px 10px;display:flex;overflow:auto}.documentation-nav button{color:#334155;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;margin:0;padding:8px 9px;font-size:.78rem;font-weight:750;line-height:1.25}.documentation-nav button:hover,.documentation-nav button.active{color:#123b72;background:#fff;border-color:#c8cfda}.documentation-article{color:#1f2937;min-height:0;padding:24px 28px 36px;line-height:1.58;overflow:auto}.documentation-article h1,.documentation-article h2,.documentation-article h3,.documentation-article h4{color:#111827;margin:0;line-height:1.2}.documentation-article h1{margin-bottom:14px;font-size:1.55rem;font-weight:850}.documentation-article h2{border-top:1px solid #e5e7eb;margin-top:28px;margin-bottom:10px;padding-top:18px;font-size:1.12rem;font-weight:850}.documentation-article h3{margin-top:22px;margin-bottom:8px;font-size:.98rem;font-weight:800}.documentation-article h4{margin-top:18px;margin-bottom:8px;font-size:.9rem;font-weight:800}.documentation-article p{color:#334155;margin:0 0 12px;font-size:.88rem}.documentation-article ul,.documentation-article ol{color:#334155;margin:0 0 14px 1.2rem;padding:0;font-size:.88rem}.documentation-article li+li{margin-top:5px}.documentation-article code{color:#0f172a;background:#f8fafc;border:1px solid #d9dde5;border-radius:4px;padding:1px 4px;font-size:.82em}.documentation-inline-link{color:#1d4ed8;font:inherit;text-underline-offset:2px;background:0 0;border:0;margin:0;padding:0;font-weight:700;text-decoration:underline;display:inline}.documentation-table-scroll{border:1px solid #d9dde5;border-radius:6px;margin:12px 0 18px;overflow-x:auto}.documentation-table-scroll table{border-collapse:collapse;background:#fff;width:100%;min-width:640px}.documentation-table-scroll th,.documentation-table-scroll td{vertical-align:top;color:#334155;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;padding:8px 9px;font-size:.78rem;line-height:1.42}.documentation-table-scroll th:last-child,.documentation-table-scroll td:last-child{border-right:0}.documentation-table-scroll tr:last-child td{border-bottom:0}.documentation-table-scroll th{color:#1f2937;text-align:left;background:#f8fafc;font-weight:850}.simulation-settings-modal-card{width:min(620px,100vw - 32px);min-width:min(380px,100vw - 16px);min-height:min(420px,100vh - 16px)}.rockfall-modal-titlebar-subtitle{color:#64748b;text-overflow:ellipsis;white-space:nowrap;max-width:34vw;font-size:.72rem;font-weight:800;display:block;overflow:hidden}.mat-props-body{flex:auto;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.mat-props-list-panel{background:#f8fafc;border-right:1px solid #e3e6ec;grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.mat-props-material-list{min-height:0;padding:8px;overflow:auto}.mat-props-mat-item{color:#334155;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:32px;margin:0 0 5px;padding:6px;display:grid}.mat-props-mat-item.selected,.mat-props-mat-item:hover{background:#e8f0ff;border-color:#8fb0e8}.mat-props-mat-swatch{border:1px solid #94a3b8;border-radius:3px;width:14px;height:14px}.mat-props-mat-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:750;overflow:hidden}.mat-props-list-tools{border-top:1px solid #e3e6ec;gap:5px;padding:8px;display:flex}.mat-props-toolbar-btn{color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:5px;place-items:center;width:30px;height:28px;margin:0;padding:0;display:grid}.mat-props-toolbar-btn.danger{color:#b91c1c}.mat-props-detail-panel{min-height:0;padding:12px;overflow:auto}.mat-props-detail-title{color:#2563eb;margin:0 0 10px;font-size:1rem;font-weight:850}.mat-props-display-row,.mat-props-weight-row{grid-template-columns:minmax(0,1fr) 120px 150px;align-items:end;gap:10px;margin-bottom:12px;display:grid}.mat-props-field,.compute-display-field{color:#64748b;gap:4px;font-size:.74rem;font-weight:750;display:grid}.mat-props-field input,.mat-props-field select,.mat-props-param-table input,.mat-props-param-table select,.compute-display-field input,.compute-display-field select{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:100%;min-width:0;padding:6px 7px;font-size:.82rem}.mat-props-tab-panel.disabled{opacity:.58}.mat-props-tab-panel.disabled .mat-props-param-table-wrap{background:#f8fafc}.mat-props-param-table input:disabled,.mat-props-param-table select:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#d8dee8}.mat-props-tabs{border-bottom:1px solid #e3e6ec;gap:6px;margin:10px 0;display:flex}.mat-props-tab{color:#64748b;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;width:auto;margin:0;padding:7px 9px;font-size:.82rem;font-weight:800}.mat-props-tab.active{color:#123b72;border-bottom-color:#2563eb}.mat-props-param-table-wrap{border:1px solid #e3e6ec;border-radius:7px;overflow:auto}.mat-props-param-table{border-collapse:collapse;width:100%;font-size:.8rem}.mat-props-param-table th,.mat-props-param-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0f4;padding:7px}.mat-props-param-table thead th{color:#64748b;text-transform:uppercase;background:#f8fafc;font-size:.72rem}.mat-props-muted{color:#94a3b8}.rock-props-swatch{background:#7c3aed}.seeder-props-swatch{background:#2563eb}.seeder-props-grid{background:#fff;border:1px solid #e3e6ec;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:10px;display:grid}.seeder-props-field{color:#64748b;text-transform:uppercase;gap:4px;font-size:.72rem;font-weight:800;display:grid}.seeder-props-field-full{grid-column:1/-1;max-width:220px}.seeder-props-field input{color:#1f2937;text-transform:none;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:100%;min-width:0;padding:6px 7px;font-size:.82rem;font-weight:650}.seeder-props-field.disabled{opacity:.62}.seeder-props-field input:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#d8dee8}.seeder-props-toggle{color:#64748b;text-transform:none;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:auto;min-width:86px;margin:0;padding:5px 9px;font-size:.76rem;font-weight:800}.seeder-props-toggle.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.seeder-props-toggle:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:#d8dee8}@media (width<=760px){.seeder-props-grid{grid-template-columns:1fr}.seeder-props-field-full{max-width:none}}.rock-props-display-row{grid-template-columns:minmax(0,1fr)}.rock-props-param-table th:first-child{width:45%}.rock-props-custom-editor{background:#fff;border:1px solid #e3e6ec;border-radius:7px;gap:12px;margin-top:12px;padding:10px;display:grid}.mat-props-tab-panel.disabled .rock-props-custom-editor{background:#f8fafc}.rock-props-preview{background:#f8fafc;border:1px solid #e3e6ec;border-radius:7px;align-items:center;gap:12px;margin-top:12px;padding:10px;display:flex}.rock-props-preview-copy{color:#64748b;gap:3px;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;display:grid}.rock-props-preview-title{color:#334155;font-family:inherit;font-weight:850}.mat-props-footer{background:#f8fafc;border-top:1px solid #d9dde5;padding:9px}.mat-props-toolbar-right{justify-content:flex-end;gap:8px;display:flex}.mat-props-btn-primary,.mat-props-btn-secondary{border:1px solid #c8cfda;border-radius:6px;width:auto;min-width:76px;margin:0;padding:7px 12px;font-weight:800}.mat-props-btn-primary{color:#123b72;background:#e6efff;border-color:#7aa2df}.mat-props-btn-secondary{color:#334155;background:#fff}.rockfall-cloud-materials-card{width:min(920px,100vw - 32px);min-height:min(520px,100vh - 32px)}.rockfall-cloud-materials{background:#fff;flex:auto;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid;overflow:hidden}.rockfall-cloud-empty{color:#64748b;text-align:center;align-content:center;justify-items:center;gap:10px;min-height:180px;padding:16px;font-size:.82rem;font-weight:750;display:grid}.rockfall-cloud-empty p{margin:0}.rockfall-cloud-tabs{background:#f8fafc;border-bottom:1px solid #d9dde5;gap:6px;padding:10px;display:flex}.rockfall-cloud-tabs button{color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:5px;align-items:center;gap:6px;width:auto;margin:0;padding:7px 10px;font-size:.78rem;font-weight:850;display:inline-flex}.rockfall-cloud-tabs button.active{color:#123b72;background:#e6efff;border-color:#7aa2df}.rockfall-cloud-grid{grid-template-columns:minmax(180px,240px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.rockfall-cloud-library-list{background:#f8fafc;border-right:1px solid #e3e6ec;flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow:auto}.rockfall-cloud-library-list>button{color:#334155;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;gap:2px;width:100%;min-height:42px;margin:0 0 6px;padding:7px 8px;display:grid}.rockfall-cloud-library-list>button:hover,.rockfall-cloud-library-list>button.active{background:#fff;border-color:#8fb0e8}.rockfall-cloud-library-list span,.rockfall-cloud-material-row span:not(.material-swatch){text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:800;overflow:hidden}.rockfall-cloud-library-list small,.rockfall-cloud-material-row small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.68rem;font-weight:750;overflow:hidden}.rockfall-cloud-create{border-top:1px solid #e3e6ec;gap:6px;margin-top:auto;padding-top:8px;display:grid}.rockfall-cloud-create input{color:#1f2937;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:100%;min-width:0;padding:6px 7px;font-size:.78rem}.rockfall-cloud-create button{color:#334155;background:#fff;border:1px solid #c8cfda;border-radius:5px;width:auto;margin:0;padding:6px 8px;font-size:.76rem;font-weight:800}.rockfall-cloud-material-list{align-content:start;gap:6px;min-height:0;padding:10px;display:grid;overflow:auto}.rockfall-cloud-material-row{color:#334155;background:#fff;border:1px solid #e3e6ec;border-radius:6px;grid-template-columns:16px 16px minmax(120px,1fr) minmax(140px,1fr);align-items:center;gap:8px;min-height:36px;padding:7px 8px;display:grid}.rockfall-cloud-material-row:hover{background:#f8fbff;border-color:#8fb0e8}.rockfall-cloud-material-row input{margin:0}.material-swatch{border:1px solid #94a3b8;border-radius:3px;width:14px;height:14px}.rockfall-cloud-footer{background:#f8fafc;border-top:1px solid #d9dde5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.rockfall-cloud-footer span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;font-weight:750;overflow:hidden}.simulation-settings-modal-body{background:#f8fafc}.simulation-settings-modal-body .tool-group{margin:0}.simulation-settings-modal-body .tool-group+.tool-group{margin-top:12px}.model-readiness-summary{gap:10px;display:grid}.model-readiness-pill{color:#475569;white-space:nowrap;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:5px;padding:4px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.model-readiness-pill.ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.model-readiness-pill.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.model-readiness-run-button{justify-content:center;width:100%}.model-readiness-steps{gap:8px;display:grid}.model-readiness-step{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:9px}.model-readiness-step.ok{border-color:#bbf7d0}.model-readiness-step.warning{border-color:#fde68a}.model-readiness-step.error{border-color:#fecaca}.model-readiness-step-header{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;display:grid}.model-readiness-step-header h3{color:#1f2937;margin:0;font-size:.78rem;font-weight:850}.model-readiness-step-header p{color:#64748b;margin:2px 0 0;font-size:.68rem;font-weight:700}.model-readiness-status-icon.ok{color:#16a34a}.model-readiness-status-icon.warning{color:#d97706}.model-readiness-status-icon.error{color:#dc2626}.model-readiness-issue-list{gap:6px;margin-top:8px;padding-left:26px;display:grid}.model-readiness-issue{background:#f8fafc;border-radius:6px;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;display:grid}.model-readiness-issue p{color:#334155;margin:0;font-size:.7rem;line-height:1.35}.model-readiness-issue-marker{background:#94a3b8;border-radius:999px;width:7px;height:7px}.model-readiness-issue.warning .model-readiness-issue-marker{background:#f59e0b}.model-readiness-issue.error .model-readiness-issue-marker{background:#ef4444}.model-readiness-fix-button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-size:.65rem;font-weight:850;display:inline-flex}.model-readiness-fix-button:hover{background:#f1f5f9;border-color:#94a3b8}.compute-readiness-alert{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.compute-readiness-alert strong{color:#991b1b;font-size:.78rem;display:block}.compute-readiness-alert p{color:#7f1d1d;margin:3px 0 0;font-size:.72rem}.import-summary-section{border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;padding:10px}.import-summary-section h3{color:#0f172a;align-items:center;gap:7px;margin:0 0 7px;font-size:.78rem;display:flex}.import-summary-section ul{gap:4px;margin:0;padding-left:16px;display:grid}.import-summary-section li,.import-summary-section p{color:#475569;margin:0;font-size:.72rem;line-height:1.35}.import-summary-section.ok h3{color:#166534}.import-summary-section.warn h3{color:#b45309}.terrain-import-modal{background:#fff;flex-direction:column;width:min(1180px,100vw - 32px);max-height:calc(100vh - 36px);display:flex;overflow:hidden}.terrain-import-header,.terrain-import-footer{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.terrain-import-footer{border-top:1px solid #e2e8f0;border-bottom:0}.terrain-import-header h3,.terrain-import-section-header h4,.terrain-import-settings h4{color:#0f172a;margin:0;font-size:.88rem;font-weight:900}.terrain-import-header span,.terrain-import-footer span,.terrain-import-footer strong{color:#64748b;font-size:.72rem;font-weight:800}.terrain-import-footer>div{align-items:center;gap:10px;display:flex}.terrain-import-body{grid-template-columns:minmax(260px,.82fr) minmax(340px,1.25fr) minmax(300px,.9fr);gap:12px;min-height:0;padding:14px;display:grid;overflow:auto}.terrain-import-input,.terrain-import-preview,.terrain-import-settings{flex-direction:column;gap:10px;min-width:0;display:flex}.terrain-import-section-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.terrain-import-section-header label,.terrain-import-options label,.terrain-material-default,.terrain-material-range-row label{color:#475569;gap:4px;font-size:.68rem;font-weight:850;display:grid}.terrain-exaggeration-controls{align-items:center;gap:6px;display:flex}.terrain-exaggeration-controls input{width:74px}.terrain-import-section-header select,.terrain-import-section-header input,.terrain-import-options input[type=number],.terrain-material-default select,.terrain-material-range-row input,.terrain-material-range-row select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;min-width:0;padding:5px 7px;font-size:.75rem}.terrain-import-textarea{resize:vertical;color:#0f172a;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;outline:none;min-height:290px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;line-height:1.45}.terrain-import-textarea:focus{border-color:#8fb0e8;box-shadow:0 0 0 2px #8fb0e83d}.terrain-import-detected{flex-wrap:wrap;gap:6px;display:flex}.terrain-import-detected span{color:#334155;background:#eef2ff;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:850}.terrain-import-svg{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:240px}.terrain-import-svg line{stroke:#94a3b8;stroke-width:1px}.terrain-import-svg path{fill:none;stroke:#2563eb;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.terrain-import-svg text{fill:#64748b;font-size:10px;font-weight:800}.terrain-import-svg .terrain-import-scale-bar{stroke:#0f172a;stroke-width:3px}.terrain-preview-empty,.terrain-import-ok,.terrain-import-error{color:#475569;background:#f8fafc;border-radius:8px;padding:9px;font-size:.74rem;font-weight:750}.terrain-import-ok{color:#166534;background:#f0fdf4}.terrain-import-error{color:#991b1b;background:#fef2f2}.terrain-import-point-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.terrain-import-point-table table{border-collapse:collapse;width:100%}.terrain-import-point-table th,.terrain-import-point-table td{color:#475569;text-align:right;border-bottom:1px solid #e2e8f0;padding:5px 7px;font-size:.68rem}.terrain-import-point-table th{color:#334155;background:#f8fafc;font-weight:900}.terrain-import-point-table span{color:#64748b;padding:6px 8px;font-size:.65rem;display:block}.terrain-import-issues{gap:6px;display:grid}.terrain-import-issue{background:#f8fafc;border-radius:7px;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.terrain-import-issue span{background:#f59e0b;border-radius:999px;width:8px;height:8px;margin-top:4px}.terrain-import-issue.error span{background:#ef4444}.terrain-import-issue p,.terrain-import-overflow{color:#334155;margin:0;font-size:.7rem;line-height:1.35}.terrain-import-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.terrain-import-options label:has(input[type=checkbox]){align-items:center;gap:7px;min-height:32px;display:flex}.terrain-material-assignment{border-top:1px solid #e2e8f0;gap:9px;padding-top:10px;display:grid}.terrain-material-range-list{gap:7px;display:grid}.terrain-material-range-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(95px,1fr) 30px;align-items:end;gap:6px;display:grid}@media (width<=980px){.terrain-import-body{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.detailed-results-modal-body,.detailed-results-toolbar{grid-template-columns:minmax(0,1fr)}.documentation-modal-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.documentation-nav{border-bottom:1px solid #d9dde5;border-right:0;flex-direction:row;overflow-x:auto}.documentation-nav button{white-space:nowrap;flex:none;width:auto}.documentation-article{padding:18px 16px 28px}.mat-props-body{grid-template-columns:1fr}.rockfall-cloud-grid{grid-template-columns:minmax(0,1fr)}.rockfall-cloud-library-list{border-bottom:1px solid #e3e6ec;border-right:0;max-height:180px}.rockfall-cloud-material-row{grid-template-columns:16px 16px minmax(0,1fr)}.rockfall-cloud-material-row small{grid-column:3}}
