:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:var(--bg);font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{width:100%;height:100%}.app-layout{--side-panel-width:324px;--display-panel-width:var(--side-panel-width);background:#f4f5f7;width:100%;height:100dvh;position:relative;overflow:hidden}.viewer{position:absolute;inset:0}.control-button{cursor:pointer;color:#666;text-align:center;background:#fff;border:1px solid #ddd;border-radius:4px;margin:2px 0;padding:10px;font-size:13px;font-weight:500;transition:all .2s}.control-button:hover{background:#f0f0f0;border-color:#bbb}.view-controls{z-index:10;flex-direction:column;gap:6px;width:108px;display:flex;position:absolute;bottom:16px;left:16px}.view-button{margin:0;padding:4px 8px;font-size:12px;line-height:1.3;box-shadow:0 1px 3px #0000001f}.orbit-lock{display:contents}.orbit-lock[inert]>:not(.overlay-controls),.orbit-lock[inert]>.overlay-controls>*{opacity:.45}.sidebar-panel{z-index:10;background:#fffffff5;border:2px solid #333;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 2px 6px #0000002e}.sidebar-heading{color:#333;font-size:16px;font-weight:700}.sidebar-column{flex-direction:column;gap:4px;display:flex}.sidebar-icon-button{cursor:pointer;box-sizing:border-box;touch-action:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;padding:6px;display:flex}.sidebar-icon-button:hover{background:#0000001f}.sidebar-icon-button.active{background:#3498db}.sidebar-icon-button.active:hover{background:#2f88c4}.sidebar-hover-label{pointer-events:none;color:#222;white-space:nowrap;z-index:1000;background:#fffffff2;border:1px solid #999;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:700;position:fixed;transform:translateY(-50%);box-shadow:0 2px 4px #0003}.placement-ghost{pointer-events:none;opacity:.6;filter:drop-shadow(0 2px 5px #00000059);z-index:1000;position:fixed;transform:translate(-50%,-50%)}.sidebar-divider{background:#aaa;width:100%;height:1px;margin:4px 0}.bottom-center-stack{left:140px;right:calc(16px + var(--display-panel-width) + 16px);pointer-events:none;z-index:10;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px}.playback-holder{pointer-events:auto;max-width:100%}.playback-panel{gap:4px;padding:8px 12px}.playback-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.playback-button{min-width:64px;margin:0;padding:4px 10px;font-size:12px;line-height:1.3}.playback-time{color:#333;font-variant-numeric:tabular-nums;min-width:84px;font-size:13px}input[type=range].playback-scrubber{width:220px}.playback-note{color:#444;text-align:center;font-size:12px}.interaction-hint{pointer-events:none;color:#444;text-align:center;background:#ffffffd9;border-radius:6px;max-width:100%;padding:5px 10px;font-size:12px;line-height:1.3}.sidebar-icon-button:focus{outline:none}.probe-label{pointer-events:none;color:#151515;white-space:nowrap;-webkit-user-select:none;user-select:none;background:#ffffffd9;border-radius:4px;padding:0 5px;font-size:12px;font-weight:600;line-height:17px;position:absolute;top:-26px;left:9px}.probe-label.selected{color:#fff;background:#3498db}.charge-label{top:-32px;left:14px}.coordinate-readout{visibility:hidden;pointer-events:none;font-variant-numeric:tabular-nums;color:#222;white-space:nowrap;z-index:6;background:#ffffffeb;border:1px solid #999;border-radius:6px;padding:3px 8px;font-size:13px;position:absolute;top:0;left:0;box-shadow:0 2px 4px #0003}.right-column{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:absolute;top:16px;bottom:16px;right:16px}.lower-right-stack{pointer-events:auto;flex:none}.overlay-controls{box-sizing:border-box;background:#fffffff5;border:2px solid #333;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;line-height:1.6;display:flex;box-shadow:0 2px 6px #0000002e}.overlay-controls h3{color:#333;margin:0 0 2px;font-size:16px;font-weight:700}.overlay-controls label{color:#333;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.overlay-controls input[type=checkbox],.overlay-controls input[type=radio]{cursor:pointer}.control-group{flex-direction:column;gap:4px;display:flex}.display-options-panel{width:var(--display-panel-width)}.panel-divider{background:#d5d5d5;height:1px;margin:2px 0}.checkbox-row{gap:28px;display:flex}.control-group.labeled-row{color:#333;flex-direction:row;align-items:center;gap:10px;font-size:13px}.control-group.labeled-row>:first-child{white-space:nowrap;flex:none;width:128px}.control-group.labeled-row select,.control-group.labeled-row input[type=range]{flex:1;min-width:0}.control-group.labeled-row select{font:inherit;padding:1px 2px;font-size:12px}.control-group.disabled{opacity:.45}.control-group.disabled label,.control-group.disabled input{cursor:default}.control-group.disabled .segmented button:disabled{opacity:1}input[type=range]{appearance:none;cursor:pointer;background:#404040;border-radius:3px;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3498db;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 4px #0003}input[type=range]::-moz-range-thumb{cursor:pointer;background:#3498db;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 4px #0003}input[type=range]::-moz-range-track{background:0 0;border:none}.upper-right-stack{pointer-events:auto;flex-direction:column;flex:0 auto;gap:10px;min-height:0;display:flex;overflow:hidden auto}.upper-right-stack>.orbit-lock>.overlay-controls{width:var(--side-panel-width);flex:none}.probe-table{border-collapse:collapse;font-variant-numeric:tabular-nums;color:#333;width:100%;font-size:12px}.probe-table th,.probe-table td{text-align:right;white-space:nowrap;padding:2px 4px}.probe-table th{color:#555;border-bottom:1px solid #ddd;font-weight:600}.probe-table th:first-child,.probe-table td:first-child{text-align:left;font-weight:600}.probe-table tbody tr{cursor:pointer}.probe-table tbody tr:hover{background:#f0f4f8}.probe-table tbody tr.selected{background:#d6eaf8}.probe-table td.probe-undefined{text-align:left;white-space:normal;color:#777;font-style:italic}.panel-header{justify-content:space-between;align-items:center;display:flex}.panel-close-button{color:#666;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:20px;line-height:1}.panel-close-button:hover{color:#222}.property-row{color:#333;justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.property-row>span:first-child{white-space:nowrap}.stepper{align-items:center;gap:6px;display:flex}.stepper button{color:#333;cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:4px;width:24px;height:24px;padding:0;font-size:15px;line-height:1}.stepper button:hover:not(:disabled){background:#f0f0f0;border-color:#999}.stepper button:disabled{opacity:.4;cursor:default}.stepper-value{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:3.2em}.panel-delete-button{margin-top:4px;padding:6px 10px}.panel-delete-button:hover{color:#b42318;background:#fdf1f0;border-color:#e0a39c}.segmented{display:flex}.segmented button{color:#333;cursor:pointer;background:#fff;border:1px solid #bbb;padding:2px 8px;font-size:12px}.segmented button+button{border-left:none}.segmented button:first-child{border-radius:4px 0 0 4px}.segmented button:last-child{border-radius:0 4px 4px 0}.segmented button:hover:not(.active){background:#f0f0f0}.segmented button.active{color:#fff;background:#3498db;border-color:#3498db}.row-unit{color:#888;font-size:12px}.number-fields{gap:6px;display:flex}.number-field{align-items:stretch;display:inline-flex}.overlay-controls .number-field label{cursor:default;gap:3px}.number-field input{font-variant-numeric:tabular-nums;text-align:left;appearance:textfield;border:1px solid #bbb;border-radius:4px 0 0 4px;width:calc(4em - 16px);padding:2px 4px;font-size:12px}.number-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-arrows{flex-direction:column;display:flex}.number-arrows button{color:#555;cursor:pointer;background:#f4f5f7;border:1px solid #bbb;border-left:none;flex:1;justify-content:center;align-items:center;width:16px;padding:0;display:flex}.number-arrows button:first-child{border-radius:0 4px 0 0}.number-arrows button:last-child{border-top:none;border-radius:0 0 4px}.number-arrows button:hover:not(:disabled){color:#222;background:#e4e7eb}.number-arrows button:active:not(:disabled){background:#d6dade}.number-arrows button:disabled{color:#c3c7cc;cursor:default}@media (pointer:coarse){.number-field input{padding-top:6px;padding-bottom:6px}}.segmented button:disabled{opacity:.4;cursor:default}.segmented button:disabled:hover:not(.active){background:#fff}.number-field input:disabled{color:#888;background:#f0f1f3}.panel-warning{color:#b8650a;margin:0;font-size:12px;line-height:1.35}.panel-wide-button{margin-top:4px;padding:6px 10px}.control-button:disabled,.control-button:disabled:hover{color:#aaa;cursor:default;background:#fff;border-color:#ddd}.cut-inset{cursor:pointer;background:#fbfbfc;border:1px solid #ccc;border-radius:8px;width:108px;height:108px;margin-bottom:4px;padding:0;display:block;overflow:hidden;box-shadow:0 1px 4px #00000026}.cut-inset:hover{border-color:#3498db}.sidebar-panel{max-height:calc(100dvh - 258px);overflow-y:auto}@media (height<=620px){.sidebar-panel{gap:4px;padding:8px 6px}.sidebar-heading{font-size:14px}.sidebar-column{gap:2px}.sidebar-icon-button{width:36px;height:36px;padding:4px}.sidebar-icon-button svg{width:26px;height:26px}}.rates-readout{z-index:20;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;background:#141414bf;border-radius:4px;padding:3px 8px;font-size:12px;position:absolute;top:8px;left:50%;transform:translate(-50%)}
