*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#333;--ink-light:#666;--ink-muted:#888;--rule:#ddd;--rule-light:#eee;--bg:#f5f5f5;--bg-panel:#fff;--bg-toolbar:#222;--bg-canvas:#fff;--accent:#333;--accent-inv:#fff;--red:#a63d2f;--blue:#2d70b3;--toolbar-h:52px;--timeline-h:44px;--tool-bar-w:44px;--props-w:220px;--status-h:28px;--radius:3px;--font-serif:"Source Serif 4", "Libre Baskerville", Georgia, "Times New Roman", serif;--font-sans:"DM Sans", "Segoe UI", system-ui, sans-serif;--font-math:KaTeX_Main, "Latin Modern Roman", "Times New Roman", Times, serif}html,body,#app{height:100%;font-family:var(--font-sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:13px;line-height:1.45;overflow:hidden}#app{position:relative}#toolbar{height:var(--toolbar-h);background:var(--bg-toolbar);color:var(--accent-inv);-webkit-user-select:none;user-select:none;z-index:100;border-bottom:1px solid #0000002e;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0f}#app-title{font-family:var(--font-sans);letter-spacing:.02em;color:#fff;font-size:18px;font-weight:500}#toolbar-center{flex:1;justify-content:center;align-items:center;gap:10px;display:flex}#toolbar-right{align-items:center;gap:4px;display:flex}.control-group{align-items:center;gap:6px;display:flex}.divider{background:#ffffff24;width:1px;height:22px}#toolbar button:not(.menu-item){border-radius:var(--radius);color:#ffffffe6;cursor:pointer;font-size:12px;font-family:var(--font-sans);background:#ffffff12;border:1px solid #ffffff24;align-items:center;gap:6px;height:32px;padding:5px 10px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}#toolbar button:not(.menu-item) svg{fill:currentColor;flex-shrink:0;width:16px;height:16px}#toolbar button:not(.menu-item):hover{color:#fff;background:#ffffff24;border-color:#ffffff38}#toolbar button.primary:not(.menu-item){background:var(--blue);color:#fff;border-color:#0000;font-weight:600}#toolbar button.primary:not(.menu-item):hover{background:#245a8f}#toolbar button.primary:not(.menu-item).recording{background:var(--red);color:#fff;border-color:#0000}#toolbar button.primary:not(.menu-item).recording:hover{background:#8f3428}#toolbar button:not(.menu-item).active{color:#fff;background:#ffffff2e;border-color:#ffffff40}#toolbar button:not(.menu-item):disabled{opacity:.35;cursor:not-allowed}#toolbar button:not(.menu-item).danger:hover:not(:disabled){color:#fff;background:#a63d2fd9;border-color:#0000}#toolbar button:not(.menu-item).recording{background:var(--red);color:#fff;border-color:#0000}.rec-dot{background:var(--red);border-radius:50%;width:8px;height:8px;display:inline-block}#toolbar-toast{top:calc(var(--toolbar-h) + 10px);z-index:250;pointer-events:none;color:#fff;font-family:var(--font-sans);letter-spacing:.01em;opacity:0;background:#2c3345;border-radius:4px;padding:7px 14px;font-size:12px;font-weight:500;transition:opacity .22s,transform .22s;position:absolute;left:50%;transform:translate(-50%)translateY(-4px);box-shadow:0 6px 18px #2c334538}#toolbar-toast.visible{opacity:1;transform:translate(-50%)translateY(0)}#toolbar-toast.hidden{display:none}button.recording .rec-dot{background:#fff}#toolbar button.icon-only{gap:0;padding:5px 8px}.menu-chevron{opacity:.75;width:14px!important;height:14px!important}.menu-wrap{position:relative}.menu-trigger[aria-expanded=true]{background:#ffffff2e;border-color:#ffffff40}.menu-dropdown{background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);z-index:200;min-width:240px;padding:4px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #2c334524}.menu-item{text-align:left;width:100%;height:auto;font-family:var(--font-sans);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:7px 10px;font-size:12px;font-weight:400;transition:background .12s,color .12s;display:block}.menu-item:hover{background:var(--accent);color:#fff}.menu-item.active{background:var(--bg-panel);color:var(--ink);font-weight:600}.menu-item.active:hover{background:var(--accent);color:#fff}.menu-section-label{font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);pointer-events:none;padding:6px 10px 4px;font-size:10px;font-weight:600}.menu-divider{background:var(--rule);height:1px;margin:4px 6px}.menu-item:disabled{opacity:.4;cursor:not-allowed}.menu-item:disabled:hover{color:var(--ink);background:0 0}.menu-item-danger{color:var(--red)}.menu-item-danger:hover:not(:disabled){background:var(--red);color:#fff}.menu-speed{pointer-events:auto;padding:8px 10px 10px}.menu-speed-label{font-family:var(--font-sans);color:var(--ink-light);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.menu-speed-row{align-items:center;gap:8px;display:flex}.menu-speed-row input[type=range]{appearance:none;background:var(--rule);cursor:pointer;border-radius:2px;outline:none;flex:1;min-width:0;height:3px}.menu-speed-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg-canvas);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}.menu-speed-row input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-canvas);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}.menu-speed-value{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;min-width:28px;font-size:12px}#main-layout{height:calc(100% - var(--toolbar-h) - var(--status-h));display:flex;overflow:hidden}#workspace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}#tool-bar{background:var(--bg-panel);border-right:1px solid var(--rule);flex-shrink:0}#sidebar-wrap{background:var(--bg-panel);border-left:1px solid var(--rule);flex-shrink:0;height:100%;display:flex}.sidebar-toggle{background:var(--bg-panel);border:none;border-right:1px solid var(--rule-light);cursor:pointer;width:22px;color:var(--ink-muted);flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.sidebar-toggle:hover{color:var(--ink);background:#2c33450f}.sidebar-toggle svg{width:14px;height:14px;transition:transform .18s}#sidebar-wrap:not(.collapsed) .sidebar-toggle svg{transform:rotate(180deg)}#sidebar-panel{width:var(--props-w);flex-direction:column;min-height:0;transition:width .2s,opacity .15s;display:flex;overflow:hidden}#sidebar-wrap.collapsed #sidebar-panel{opacity:0;pointer-events:none;width:0}.sidebar-section{flex-direction:column;flex:50%;min-height:0;display:flex;overflow:hidden}.sidebar-section-properties{border-top:1px solid var(--rule)}#object-browser-panel,#properties-panel{flex:1;min-height:0;padding:12px 10px;overflow:hidden auto}#tool-bar{width:var(--tool-bar-w);border-right:1px solid var(--rule);flex-direction:column;align-items:center;gap:4px;padding:8px 4px;display:flex}#object-browser-panel h3,#properties-panel h3{font-family:var(--font-sans);letter-spacing:.05em;color:var(--ink-muted);border-bottom:1px solid var(--rule-light);flex-shrink:0;margin-bottom:8px;padding-bottom:5px;font-size:11px;font-weight:600}.ob-fs{border-radius:var(--radius);min-height:48px;transition:background .12s,outline-color .12s}.ob-fs.ob-drop-over{outline:1px dashed var(--blue);outline-offset:2px;background:#2d70b30a}.ob-list{flex-direction:column;gap:0;display:flex}.ob-empty,.ob-hint{color:var(--ink-muted);margin:8px 0 0;font-size:10px;line-height:1.4}.ob-node{position:relative}.ob-children{border-left:1px solid var(--rule-light);flex-direction:column;margin:0 0 2px 11px;padding-left:12px;display:flex}.ob-row{text-align:left;border-radius:var(--radius);width:100%;color:var(--ink);font-family:var(--font-sans);cursor:default;background:0 0;border:1px solid #0000;align-items:center;gap:2px;padding:3px 4px 3px 2px;font-size:12px;display:flex}.ob-row:hover{background:#2c33450f}.ob-row.selected{background:#2d70b314;border-color:#2d70b359}.ob-row.ob-dragging{opacity:.45}.ob-row.ob-drop-over{border-color:var(--blue);background:#2d70b31a}.ob-drop-reject{animation:.35s ob-shake}@keyframes ob-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.ob-row-main{cursor:pointer;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:6px;margin:0;padding:0;display:flex}.ob-icon{width:14px;height:14px;color:var(--ink-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ob-ico{width:14px;height:14px;display:block}.ob-ico-meta{color:var(--ink-muted);font-size:12px;line-height:1}.ob-parameter-icon{color:var(--ink-muted);font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic;line-height:1}.ob-row[data-kind=aggregate] .ob-icon,.ob-row[data-kind=weld] .ob-icon,.ob-row[data-kind=rope] .ob-icon{color:#888}.ob-row[data-kind=constraint] .ob-icon{color:var(--blue)}.ob-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ob-meta{color:var(--ink-muted);text-transform:lowercase;letter-spacing:.02em;text-overflow:ellipsis;flex-shrink:0;max-width:56px;font-size:9px;overflow:hidden}.ob-twist,.ob-twist-spacer{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:18px;display:inline-flex}.ob-twist{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:2px;padding:0;font-size:10px}.ob-twist:hover{color:var(--ink);background:#2c334514}.ob-rename{width:100%;font:inherit;border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);background:#fff;padding:1px 3px;font-size:12px}.tool-btn{border-radius:var(--radius);cursor:pointer;width:32px;height:32px;color:var(--accent);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s;display:flex;position:relative}.tool-btn svg{width:20px;height:20px}.tool-btn:hover{border-color:var(--rule);background:#2c33450f}.tool-btn.active{background:var(--accent);color:#fff;border-color:#0000}.tool-btn.active svg{color:#fff;stroke:#fff}.tool-btn:after{content:attr(data-tip);background:var(--accent);color:#fff;font-family:var(--font-sans);white-space:nowrap;border-radius:var(--radius);pointer-events:none;opacity:0;visibility:hidden;z-index:50;padding:4px 8px;font-size:11px;transition:opacity .12s,visibility .12s;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #0000001f}.tool-btn:hover:after,.tool-btn:focus-visible:after{opacity:1;visibility:visible}body.shift-pan-preview .tool-btn.active:not([data-tool=pan]),body.shift-pan-preview .obj-btn.active{color:var(--ink-muted);opacity:.45;background:#2c33450f;border-color:#0000}body.shift-pan-preview .tool-btn.active:not([data-tool=pan]) svg{color:inherit;stroke:currentColor;fill:currentColor}body.shift-pan-preview .obj-btn.active svg{stroke:currentColor}body.shift-pan-preview .tool-btn[data-tool=pan]{background:var(--accent);color:#fff;box-shadow:0 0 0 2px var(--bg-panel), 0 0 0 4px var(--accent);border-color:#0000}body.shift-pan-preview .tool-btn[data-tool=pan] svg{color:#fff;stroke:#fff}body.shift-pan-preview .tool-btn[data-tool=pan]:after{content:"Pan (Shift)";opacity:1;visibility:visible}#object-bar{background:var(--bg-panel);border-left:1px solid var(--rule);border-right:1px solid var(--rule);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;width:46px;padding:10px 4px;display:flex}.obj-bar-section{flex-direction:column;align-items:center;gap:4px;display:flex}.obj-bar-section+.obj-bar-section{border-top:1px solid var(--rule);padding-top:6px}.obj-btn{border-radius:var(--radius);cursor:pointer;width:32px;height:32px;color:var(--accent);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s;display:flex}.obj-btn svg{width:20px;height:20px}.obj-btn:hover{border-color:var(--rule);background:#2c33450f}.obj-btn.active{background:var(--accent);color:#fff;border-color:#0000}.obj-btn.active svg{stroke:#fff}.obj-btn{touch-action:none;-webkit-user-select:none;user-select:none}#palette-drag-ghost{pointer-events:none;z-index:9999;background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);opacity:.9;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:fixed;transform:translate(-50%,-50%);box-shadow:0 2px 10px #2c33451f}#palette-drag-ghost svg{width:20px;height:20px}#sandbox-svg.palette-drop-target{outline:2px solid var(--blue);outline-offset:-2px}.hint{color:var(--ink-light);font-size:11px;font-style:italic;line-height:1.5}.prop-row{border-bottom:1px solid var(--rule-light);justify-content:space-between;align-items:center;gap:6px;padding:4px 0;display:flex}.prop-label{font-family:var(--font-sans);color:var(--ink-light);font-size:11px}.math{font-family:var(--font-math);letter-spacing:0;font-style:italic;font-weight:400}.math sub{vertical-align:baseline;font-size:.72em;font-style:italic;position:relative;bottom:-.22em}.prop-label .math,.prop-section-title .math{color:inherit}.prop-section-title .math{font-weight:400}.prop-value{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;background:0 0;border:none;border-radius:2px;width:84px;padding:2px 4px;font-size:11px}.prop-value:focus{outline:1px solid var(--accent);background:var(--bg-canvas)}.prop-parameter-expression{color:var(--ink);font-family:var(--font-math);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;overflow:hidden}select.prop-value{cursor:pointer;width:auto;min-width:84px;max-width:118px}.prop-section-title{font-family:var(--font-sans);letter-spacing:.04em;color:var(--ink-muted);margin:10px 0 4px;font-size:10px;font-weight:600}.prop-expr-input{box-sizing:border-box;width:100%;font-family:var(--font-mono,ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);text-align:left;margin:4px 0 6px;padding:5px 8px;font-size:11px;display:block}.prop-expr-input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.prop-math-expr-wrap{box-sizing:border-box;width:100%;min-height:34px;margin:4px 0 6px;display:block}.prop-math-expr-wrap math-field{box-sizing:border-box;width:100%;min-height:2rem;color:var(--ink);background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);--contains-highlight-background-color:color-mix(in srgb, var(--accent) 18%, transparent);--selection-background-color:color-mix(in srgb, var(--accent) 28%, transparent);--primary:var(--accent);padding:4px 6px;font-size:16px;display:block}.prop-math-expr-wrap math-field:focus-within{outline:1px solid var(--accent);border-color:var(--accent)}.prop-parameter-row{border-bottom:1px solid var(--rule-light);padding:4px 0 2px}.prop-parameter-row .prop-label{display:block}.prop-parameter-unit{color:var(--ink-muted);font-style:normal}.prop-driven-parameter-wrap{margin:3px 0 2px}math-field.prop-math-expr-field::part(virtual-keyboard-toggle),math-field.prop-math-expr-field::part(menu-toggle){display:none}.prop-expr-error{color:var(--red);margin:0 0 4px;font-size:10px;line-height:1.35}.prop-delete-btn{border:1px solid var(--red);border-radius:var(--radius);width:100%;color:var(--red);cursor:pointer;font-family:var(--font-sans);background:0 0;margin-top:12px;padding:6px;font-size:11px;font-weight:500;transition:background .12s,color .12s;display:block}.prop-delete-btn:hover{background:var(--red);color:#fff}.prop-back-btn{color:var(--blue);cursor:pointer;font-family:var(--font-sans);background:0 0;border:none;align-items:center;margin:0 0 4px;padding:2px 0;font-size:11px;font-weight:500;display:inline-flex}.prop-back-btn:hover{text-decoration:underline}.prop-action-btn{font:inherit;border:1px solid var(--rule);background:var(--surface,#fff);color:var(--ink);cursor:pointer;border-radius:4px;padding:5px 10px;font-size:12px}.prop-action-btn:hover{background:#2c33450f}.prop-component-list{flex-direction:column;gap:4px;margin:0 0 4px;display:flex}.prop-component-row{background:var(--bg-canvas);border:1px solid var(--rule-light);border-radius:var(--radius);width:100%;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font-sans);flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px;display:flex}.prop-component-row:hover{border-color:var(--blue);background:#f0f6fc}.prop-component-name{font-size:12px;font-weight:600}.prop-component-meta{color:var(--ink-light);font-size:10px}.prop-optional-bar{width:100%;margin:0 0 10px}.prop-optional-add{box-sizing:border-box;text-align:center;width:100%;display:block}.prop-optional-list{flex-direction:column;gap:4px;margin:8px 0 4px;display:flex}.prop-optional-row{background:var(--bg-canvas);border:1px solid var(--rule-light);border-radius:var(--radius);width:100%;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font-sans);flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;display:flex}.prop-optional-row:hover{border-color:var(--blue);background:#f0f6fc}.prop-optional-name{font-size:11px;font-weight:600}.prop-optional-meta{color:var(--ink-light);font-size:10px;line-height:1.3}.prop-optional-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.prop-optional-remove{border:1px solid var(--rule-light);border-radius:var(--radius);color:var(--ink-muted);cursor:pointer;font-size:10px;font-family:var(--font-sans);background:0 0;padding:2px 6px}.prop-optional-remove:hover{color:#c44;border-color:#c44}.prop-optional-hint{color:var(--ink-muted)}#camera-overlay{pointer-events:none;z-index:4;width:100%;height:100%;display:none;position:absolute;inset:0;overflow:visible}#canvas-container{background:var(--bg-canvas);min-height:0;box-shadow:inset 0 0 0 1px var(--rule-light);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:1;position:relative;overflow:hidden}#canvas-container *{-webkit-user-select:none;user-select:none}#sandbox-svg{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}#sandbox-svg.mode-select{cursor:default}#sandbox-svg.mode-pan{cursor:grab}#sandbox-svg.mode-pan:active{cursor:grabbing}#sandbox-svg.mode-rotate{cursor:crosshair}#sandbox-svg.mode-scale{cursor:default}#sandbox-svg.mode-measure{cursor:crosshair}#sandbox-svg.mode-camera{cursor:default;pointer-events:none}#camera-overlay.camera-pan-ready{cursor:grab}#camera-overlay.camera-pan-active{cursor:grabbing}#camera-overlay [data-cam-handle=origin],#camera-overlay [data-cam-handle=move]{cursor:move}.export-size-readout{font-variant-numeric:tabular-nums;color:var(--ink)}#canvas-overlay{pointer-events:none;position:absolute;top:10px;right:14px}#basis-indicator{pointer-events:none;opacity:.6;position:absolute;top:10px;left:10px}#sim-time{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-light);border-radius:var(--radius);border:1px solid var(--rule);background:#ffffffeb;padding:3px 8px;font-size:12px}#status-bar{height:var(--status-h);background:var(--bg-panel);border-top:1px solid var(--rule);font-family:var(--font-sans);color:var(--ink-light);flex-shrink:0;align-items:center;gap:20px;padding:0 14px;font-size:11px;display:flex}#status-bar strong{font-family:var(--font-sans);color:var(--ink);font-weight:600}#status-record{color:var(--red);font-weight:600}.hidden{display:none!important}.toggle-label{cursor:pointer;flex-shrink:0;align-items:center;gap:0;display:flex}.toggle-label input[type=checkbox]{display:none}.toggle-track{background:var(--rule);border-radius:8px;width:30px;height:16px;transition:background .15s;position:relative}.toggle-label input:checked+.toggle-track{background:var(--accent)}.toggle-thumb{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle-label input:checked+.toggle-track .toggle-thumb{transform:translate(14px)}#env-section .prop-row{padding:4px 0}#env-section .prop-row-slider{align-items:center;gap:10px}#env-section .prop-slider-wrap{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}#env-section .prop-slider-wrap input[type=range]{appearance:none;background:var(--rule);cursor:pointer;border-radius:2px;outline:none;flex:1;min-width:72px;max-width:140px;height:3px}#env-section .prop-slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg-canvas);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}#env-section .prop-slider-wrap input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-canvas);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}#env-section .prop-slider-value{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-light);text-align:right;min-width:2.6em;font-size:12px}#timeline-bar{height:var(--timeline-h);background:var(--bg-panel);border-top:1px solid var(--rule);-webkit-user-select:none;user-select:none;opacity:1;flex-shrink:0;align-items:center;gap:12px;padding:0 14px;transition:height .22s,padding .22s,opacity .18s,border-color .18s,transform .22s;display:flex;overflow:hidden;transform:translateY(0)}#timeline-bar.collapsed{opacity:0;pointer-events:none;border-top-color:#0000;height:0;padding-top:0;padding-bottom:0;transform:translateY(8px)}.tl-badge{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);text-align:center;flex-shrink:0;min-width:58px;padding:3px 8px;font-size:10px;font-weight:600}.tl-setup{color:var(--ink-light);background:#eee}.tl-live{background:var(--red);color:#fff}.tl-review{background:var(--blue);color:#fff}#tl-transport{flex-shrink:0;align-items:center;gap:2px;display:flex}#tl-transport button{border-radius:var(--radius);cursor:pointer;width:28px;height:28px;color:var(--accent);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:background .1s,border-color .1s;display:flex}#tl-transport button svg{fill:currentColor;pointer-events:none;width:16px;height:16px}#tl-transport button:hover{border-color:var(--rule);background:#2c33450f}#tl-transport button:disabled{opacity:.3;cursor:not-allowed}#tl-transport button.active{background:var(--accent);color:#fff}.tl-clear-btn{margin-left:6px!important}.tl-clear-btn:hover:not(:disabled){color:var(--red)!important;background:#a63d2f1a!important;border-color:#a63d2f4d!important}.tl-play-btn{width:32px!important;height:32px!important}#tl-scrubber-wrap{flex:1;align-items:center;gap:8px;min-width:0;display:flex;position:relative}#tl-ic-marker{font-family:var(--font-sans);color:var(--ink-light);border:1px solid var(--rule);letter-spacing:.04em;cursor:help;background:#eee;border-radius:2px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:600}#tl-track{flex:1;align-items:center;height:20px;display:flex;position:relative}#tl-fill{background:var(--accent);pointer-events:none;z-index:1;border-radius:2px;width:0%;height:4px;position:absolute;top:50%;left:0;transform:translateY(-50%)}#tl-scrubber{appearance:none;z-index:2;background:var(--rule);cursor:pointer;background:0 0;border-radius:2px;outline:none;width:100%;height:4px;position:relative}#tl-scrubber::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:2px solid var(--bg-canvas);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%;transition:transform .1s}#tl-scrubber::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-canvas);width:14px;height:14px;box-shadow:0 0 0 1px var(--accent);cursor:pointer;border-radius:50%}#tl-scrubber::-webkit-slider-thumb:hover{transform:scale(1.15)}#tl-scrubber:disabled{opacity:.35;cursor:not-allowed}#tl-scrubber:disabled::-webkit-slider-thumb{cursor:not-allowed}#tl-track:before{content:"";background:var(--rule);pointer-events:none;border-radius:2px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}#tl-info{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}#tl-frame-count,#tl-time-display{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-light);font-size:11px;line-height:1.25}#tl-time-display{color:var(--ink);font-size:12px}.body-group{cursor:pointer}.body-group:hover .body-shape{filter:drop-shadow(0 0 3px #00000040)}.body-group.selected .body-shape:not(.box-body):not(.circle-ring):not(.circle-filled):not(.wedge-ring){stroke:var(--blue)!important;stroke-width:2.5px!important}.body-group.selected .body-shape.circle-ring,.body-group.selected .body-shape.wedge-ring{stroke:var(--blue)!important}.body-group.selected .body-shape.circle-filled,.body-group.selected rect.body-shape.box-body,.body-group.selected polygon.body-shape.box-body,.body-group.selected .body-shape.rope-segment,.body-group.selected .rope-stroke-path,.rope-stroke.selected .rope-stroke-path{filter:drop-shadow(0 0 2px var(--blue)) drop-shadow(0 0 6px #2d70b366)}.body-shape.selected-part{filter:drop-shadow(0 0 3px var(--blue)) drop-shadow(0 0 8px #2d70b373);stroke:var(--blue)!important;stroke-width:2.75px!important}.body-group.hover-target .body-shape{filter:drop-shadow(0 0 6px var(--blue));opacity:.8}.body-label{font-family:var(--font-sans);fill:var(--ink-light);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px}.constraint-group{cursor:pointer}.constraint-group.selected>line:not(.constraint-hit),.constraint-group.selected>path:not(.constraint-hit){stroke-width:2.25px;stroke:var(--blue)!important}.constraint-hit{stroke:#0000!important}.vector-arrow{pointer-events:none}.trace-path{pointer-events:none;opacity:.5}.modal-backdrop{z-index:300;background:#2c334552;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop.hidden{display:none}.modal-dialog{background:var(--bg-canvas);border:1px solid var(--rule);border-radius:calc(var(--radius) + 1px);width:min(360px,100vw - 32px);box-shadow:0 16px 40px #2c33452e}.modal-header{border-bottom:1px solid var(--rule-light);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header h2{font-family:var(--font-sans);color:var(--ink);font-size:16px;font-weight:600}.modal-close{color:var(--ink-light);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.modal-close:hover{color:var(--ink)}.modal-body{padding:12px 16px 16px}.modal-body .prop-value{width:100px}.modal-body select.prop-value{width:140px;max-width:100%}.modal-body .prop-row:last-child{border-bottom:none}.modal-footer{border-top:1px solid var(--rule-light);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.modal-btn{font-family:var(--font-sans);border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-panel);color:var(--ink);cursor:pointer;padding:6px 14px;font-size:13px}.modal-btn:hover{background:#2c33450f}.modal-btn-primary{background:var(--accent);color:var(--accent-inv);border-color:#0000}.modal-btn-primary:hover{background:#1a1a1a}.modal-btn:disabled{opacity:.45;cursor:not-allowed}.export-hint{color:var(--ink-light);margin-top:10px;font-size:12px;line-height:1.45}.export-section{border-top:1px solid #2c33451f;margin-top:12px;padding-top:12px}.export-section:first-child{border-top:none;margin-top:0;padding-top:0}.export-section-toggle{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.export-section-toggle input{margin:0}.export-section-panel{margin-top:10px}.export-section-panel.hidden{display:none}#video-export-dialog{width:min(560px,100vw - 32px);max-height:min(88vh,720px)}#video-export-section{max-height:min(62vh,520px);overflow-y:auto}.graph-export-list{flex-direction:column;gap:10px;display:flex}.graph-export-row{background:#ffffffb3;border:1px solid #2c334524;border-radius:8px;padding:10px 12px}.graph-export-row.is-disabled{opacity:.55}.graph-export-row-head{align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.graph-export-row-head label{cursor:pointer;flex:1;align-items:flex-start;gap:8px;font-size:13px;font-weight:500;display:flex}.graph-export-row-head input{margin-top:3px}.graph-export-row-title{line-height:1.35}.graph-export-row-note{color:var(--ink-light);font-size:11px;font-weight:400}.graph-export-settings{grid-template-columns:72px 1fr;align-items:center;gap:6px 10px;display:grid}.graph-export-settings .prop-label{color:var(--ink-light);font-size:11px}.graph-export-settings select,.graph-export-settings .export-size-readout{width:100%;font-size:12px}.graph-export-settings .export-size-readout{grid-column:2}.graph-window{z-index:40;background:var(--bg-panel);border:1px solid var(--rule);border-radius:var(--radius);pointer-events:auto;-webkit-user-select:none;user-select:none;flex-direction:column;width:min(900px,100% - 24px);min-width:240px;height:360px;min-height:180px;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 28px #0000001f}.graph-window.is-minimized,.graph-window[hidden]{display:none!important}.graph-window-header{background:var(--bg-toolbar);color:var(--accent-inv);cursor:grab;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;display:flex}.graph-window-header:active{cursor:grabbing}.graph-window-title{font-family:var(--font-math), var(--font-sans);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-style:italic;font-weight:600;overflow:hidden}.graph-window-header-btns{flex-shrink:0;align-items:center;gap:2px;display:flex}.graph-window-min,.graph-window-close{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;min-width:22px;padding:0 4px;font-size:16px;line-height:1}.graph-window-min:hover,.graph-window-close:hover{opacity:1}.graph-dock{z-index:45;pointer-events:none;flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:8px;left:8px;right:8px}.graph-dock[hidden]{display:none!important}.graph-dock-tab{pointer-events:auto;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-family:var(--font-math), var(--font-sans);border:1px solid var(--rule);border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-toolbar);color:var(--accent-inv);cursor:pointer;padding:6px 12px;font-size:11px;font-style:italic;font-weight:600;overflow:hidden;box-shadow:0 4px 14px #0000001a}.graph-dock-tab:hover{filter:brightness(1.06)}.graph-advanced,.graph-options{border-bottom:1px solid var(--rule-light);background:var(--bg);flex-shrink:0}.graph-advanced-summary,.graph-options-summary{font-family:var(--font-sans);letter-spacing:.01em;color:var(--ink-light);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 10px;font-size:11px;font-weight:600;list-style:none}.graph-advanced-summary::-webkit-details-marker{display:none}.graph-options-summary::-webkit-details-marker{display:none}.graph-advanced-summary:before,.graph-options-summary:before{content:"▸";margin-right:6px;transition:transform .12s;display:inline-block}.graph-advanced[open]>.graph-advanced-summary:before,.graph-options[open]>.graph-options-summary:before{transform:rotate(90deg)}.graph-advanced[open]>.graph-advanced-summary,.graph-options[open]>.graph-options-summary{color:var(--ink);border-bottom:1px solid var(--rule-light)}.graph-options[hidden]{display:none!important}.graph-view-bar{border-bottom:1px solid var(--rule-light);background:var(--bg-toolbar);flex-shrink:0;align-items:stretch;gap:0;padding:6px 8px;display:flex}.graph-view-btn{min-width:0;font-family:var(--font-sans);letter-spacing:.01em;color:var(--accent-inv);border-radius:var(--radius);cursor:pointer;opacity:.72;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;flex:1 1 0;padding:5px 4px;font-size:11px;font-weight:600;overflow:hidden}.graph-view-btn:hover:not(:disabled){opacity:1;background:#ffffff14}.graph-view-btn.active{opacity:1;background:var(--blue);color:#fff;border-color:var(--blue)}.graph-view-btn:disabled{opacity:.28;cursor:not-allowed}.graph-data-bar{border-bottom:1px solid var(--rule-light);background:var(--bg);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 8px;padding:6px 10px;display:flex}.graph-window-toolbar,.graph-data-bar[hidden],.graph-sweep-panel[hidden]{display:none!important}.graph-fit-bar{background:0 0;border-bottom:none;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 8px;padding:6px 10px 8px;display:flex}.graph-fit-degree-wrap{align-items:center;gap:4px;display:inline-flex}.graph-fit-degree-wrap[hidden]{display:none!important}.graph-fit-degree{width:44px;max-width:44px}.graph-fit-domain-wrap{align-items:center;gap:4px;display:inline-flex}.graph-fit-domain{width:64px;max-width:72px}.graph-fit-domain-sep{color:var(--ink-muted);font-size:11px}.graph-fit-domain-all{padding:3px 6px}.graph-fit-btn{font-family:var(--font-sans);color:var(--ink);background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;padding:3px 8px;font-size:11px;font-weight:500}.graph-fit-btn:hover{border-color:var(--ink-light)}.graph-fit-btn:disabled{opacity:.4;cursor:not-allowed}.graph-fit-btn-muted{color:var(--ink-light)}.graph-phase-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.graph-phase-obs-wrap{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.graph-phase-obs-wrap[hidden]{display:none}.graph-phase-bounds-wrap{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:6px 10px 0;display:flex}.graph-phase-bounds-wrap[hidden]{display:none}.graph-phase-bound{width:66px;max-width:72px}.graph-phase-overlay-select{max-width:92px}.graph-fit-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.graph-desmos-wrap{align-items:center;gap:6px;margin-left:auto;display:flex;position:relative}.graph-desmos-view-btn{align-items:center;gap:6px;font-weight:600;display:inline-flex}.graph-desmos-icon{object-fit:contain;flex-shrink:0;width:14px;height:14px;display:block}.graph-desmos-copy-wrap{position:relative}.graph-desmos-menu{z-index:20;background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);min-width:150px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 14px #2e2e2e1f}.graph-desmos-menu.hidden{display:none}.graph-desmos-item{text-align:left;width:100%;font-family:var(--font-sans);color:var(--ink);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:12px;display:block}.graph-desmos-item:hover{background:var(--bg-panel)}.graph-field-label{font-family:var(--font-sans);color:var(--ink-light);font-size:11px}.graph-unwrap-toggle{font-family:var(--font-sans);color:var(--ink-light);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:11px;display:inline-flex}.graph-unwrap-toggle[hidden]{display:none}.graph-unwrap-toggle input{cursor:pointer;margin:0}.graph-select{font-family:var(--font-sans);color:var(--ink);background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);-webkit-user-select:auto;user-select:auto;max-width:140px;padding:2px 6px;font-size:12px}.graph-select-math{font-family:var(--font-math), var(--font-sans);font-style:italic}.graph-select-wide{width:100%;max-width:none;padding:3px 6px}.graph-num{font-family:var(--font-sans);color:var(--ink);background:var(--bg-canvas);border:1px solid var(--rule);border-radius:var(--radius);-webkit-user-select:auto;user-select:auto;width:100%;padding:3px 6px;font-size:12px}.graph-num.graph-phase-bound{width:66px;max-width:72px}.graph-num.graph-fit-domain{width:64px;max-width:72px}.graph-num.graph-fit-degree{width:44px;max-width:44px}.graph-sweep-panel{background:0 0;flex-direction:column;flex:1 0 100%;gap:6px;display:flex}.graph-sweep-form{grid-template-columns:1fr 1fr;gap:6px 10px;padding:8px 10px 4px;display:grid}.graph-sweep-field{flex-direction:column;gap:2px;display:flex}.graph-sweep-field:first-child,.graph-sweep-field:nth-child(2){grid-column:span 1}.graph-sweep-actions{flex-wrap:wrap;align-items:center;gap:8px;padding:4px 10px 8px;display:flex}.graph-sweep-run{font-family:var(--font-sans);border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--accent-inv);cursor:pointer;padding:6px 10px;font-size:12px;font-weight:600}.graph-sweep-run:hover{opacity:.9}.graph-sweep-run:disabled{opacity:.45;cursor:default}.graph-sweep-show-time[hidden]{display:none!important}.graph-readout{font-family:var(--font-sans);color:var(--ink-light);border-bottom:1px solid var(--rule-light);white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:text;user-select:text;flex-shrink:0;padding:4px 10px 6px;font-size:11px;overflow:hidden}.graph-plot-wrap{background:var(--bg-canvas);cursor:crosshair;touch-action:none;flex:1;min-height:0;position:relative}.graph-plot-wrap.graph-plot-panning{cursor:grabbing}.graph-plot{pointer-events:none;width:100%;height:100%;display:block}.graph-axis-titles{pointer-events:none}.graph-window-resize{cursor:nwse-resize;z-index:2;background:linear-gradient(135deg, transparent 0 55%, var(--ink-muted) 55% 62%, transparent 62% 72%, var(--ink-muted) 72% 78%, transparent 78%);width:16px;height:16px;position:absolute;bottom:0;right:0}@font-face{font-display:"swap";font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2")}@font-face{font-display:"swap";font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2")}:root{--ML__static-fonts:true}
