.viewport.svelte-14iyief{position:relative;width:100%;height:100%;background:#000;overflow:hidden}.gl-canvas.svelte-14iyief,.overlay-canvas.svelte-14iyief{position:absolute;inset:0;width:100%;height:100%}.hint.svelte-14iyief{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;padding:.75rem 1rem;font-size:.75rem;color:#ffc89673;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);pointer-events:none}.top-controls.svelte-1ka79c{position:absolute;top:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1.5rem;z-index:5;pointer-events:auto;padding:.5rem 1.25rem;background:#120d0be0;border:1px solid rgba(255,150,60,.25);border-radius:4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0000004d}.control-group.svelte-1ka79c,.expression-group.svelte-1ka79c{display:flex;align-items:center;gap:.4rem}.view-group.svelte-1ka79c{display:flex;gap:.3rem}.spacer.svelte-1ka79c{flex:0 0 auto;width:1px;height:1.8rem;background:#ff963c26}.expression-input-wrapper.svelte-1ka79c{position:relative;display:flex;align-items:center}.expression-input.svelte-1ka79c{padding:.4rem .6rem;border:1px solid rgba(255,150,60,.35);background:#1e140fb3;color:#ffdcb4f2;border-radius:3px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.8rem;width:240px;height:1.6rem;box-sizing:border-box;transition:all .15s ease}.expression-input.svelte-1ka79c::placeholder{color:#ffb46459}.expression-input.svelte-1ka79c:focus{outline:none;border-color:#ff963c99;background:#1e140ff2;box-shadow:0 0 0 2px #ff963c14}.expression-input.error.svelte-1ka79c{border-color:#ff646480;background:#1e120fe0}.expression-input.error.svelte-1ka79c:focus{box-shadow:0 0 0 2px #ff646414}.error-icon-inline.svelte-1ka79c{position:absolute;right:1em;color:#ff6464b3;font-size:.9rem;cursor:default;pointer-events:auto}.preset-menu-button.svelte-1ka79c{padding:0 .5rem;border:1px solid rgba(255,150,60,.35);background:#1e140fb3;color:#ffc89699;border-radius:3px;cursor:pointer;font-size:.9rem;transition:all .15s ease;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;box-sizing:border-box}.preset-menu-button.svelte-1ka79c:hover{border-color:#ff963c80;background:#ff963c14;color:#ffdcb4cc}.preset-dropdown.svelte-1ka79c{position:absolute;top:calc(100% + .3rem);left:0;display:flex;flex-direction:column;background:#120d0bf5;border:1px solid rgba(255,150,60,.3);border-radius:3px;min-width:280px;box-shadow:0 8px 24px #0009;z-index:1000;overflow:visible}.preset-help.svelte-1ka79c{padding:.6rem .75rem;border-bottom:1px solid rgba(255,150,60,.2);color:#ffdcb499;font-size:.7rem;line-height:1.3}.preset-help.svelte-1ka79c .code:where(.svelte-1ka79c){font-family:Menlo,Monaco,Courier New,monospace;color:#ffdcb4cc;background:#ff963c14;padding:.1rem .25rem;border-radius:2px}.preset-option.svelte-1ka79c{padding:.5rem .75rem;border:none;background:transparent;color:#ffdcb4b3;text-align:left;cursor:pointer;font-family:Menlo,Monaco,Courier New,monospace;font-size:.8rem;transition:background-color .1s ease,color .1s ease}.preset-option.svelte-1ka79c:hover{background:#ff963c1f;color:#ffdcb4f2}.preset-option.active.svelte-1ka79c{background:#ff963c33;color:#ffdcb4f2}.view-button.svelte-1ka79c{padding:0 .6rem;border:1px solid rgba(255,150,60,.35);background:#1e140fb3;color:#ffc8968c;border-radius:3px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .15s ease;width:2.8rem;height:1.6rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center;white-space:nowrap}.view-button.svelte-1ka79c:hover{border-color:#ff963c80;background:#ff963c14;color:#ffdcb4cc}.view-button.active.svelte-1ka79c{background:#ff963c2e;border-color:#ff963c80;color:#ffdcb4f2}.ef-canvas-stack.svelte-gznhoi{position:relative;aspect-ratio:4/3;border:1px solid rgba(255,150,60,.15);border-radius:.3rem;overflow:hidden;margin:.5rem 1rem .75rem}.section-body.svelte-gznhoi{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem}.label-text.svelte-gznhoi{font-size:.78rem;color:#ffdcb4cc}.expression-label.svelte-gznhoi,.view-mode-label.svelte-gznhoi{display:flex;flex-direction:column;gap:.35rem;color:#ffdcb4cc;font-size:.78rem}.expression-group.svelte-gznhoi{display:flex;gap:.4rem;align-items:flex-start}.expression-input-wrapper.svelte-gznhoi{flex:1;position:relative}.preset-menu-wrapper.svelte-gznhoi{position:relative}.preset-menu-button.svelte-gznhoi{background:#1a120f;border:1px solid rgba(255,150,60,.3);color:#ffc896b3;width:1.8rem;height:1.8rem;padding:0;border-radius:.2rem;cursor:pointer;font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.preset-menu-button.svelte-gznhoi:hover{background:#ff963c1a;border-color:#ff963c80;color:#ffdcb4e6}.preset-dropdown.svelte-gznhoi{position:absolute;top:100%;right:0;margin-top:.25rem;min-width:260px;background:#1a120f;border:1px solid rgba(255,150,60,.25);border-radius:.3rem;box-shadow:0 4px 12px #0006;z-index:1000;max-height:300px;overflow-y:auto}.preset-help.svelte-gznhoi{padding:.5rem;font-size:.7rem;color:#ffb46499;border-bottom:1px solid rgba(255,150,60,.12)}.preset-help.svelte-gznhoi code:where(.svelte-gznhoi){background:#ff963c14;padding:.1rem .2rem;border-radius:.2rem;font-family:monospace;color:#ffc896cc}.preset-option.svelte-gznhoi{display:block;width:100%;text-align:left;padding:.4rem .5rem;background:none;border:none;color:#ffc896b3;font-size:.75rem;cursor:pointer;transition:all .1s ease}.preset-option.svelte-gznhoi:hover{background:#ff963c1a;color:#ffdcb4e6}.preset-option.active.svelte-gznhoi{background:#ff963c26;color:#ffdcb4f2;font-weight:500}input[type=text].svelte-gznhoi{background:#1a120f;border:1px solid rgba(255,150,60,.2);color:#ffdcb4e6;padding:.4rem .5rem;font-size:.75rem;font-family:monospace;border-radius:.2rem;transition:border-color .15s ease}input[type=text].svelte-gznhoi:focus{outline:none;border-color:#ff963c80}input[type=text].error.svelte-gznhoi{border-color:#ff645099;background:#ff64500d}.error-message.svelte-gznhoi{font-size:.7rem;color:#ff6450cc;padding:.3rem}.view-buttons.svelte-gznhoi{display:flex;gap:.3rem}.view-button.svelte-gznhoi{flex:1;background:#1a120f;border:1px solid rgba(255,150,60,.3);color:#ffc896b3;padding:.3rem .5rem;font-size:.75rem;font-weight:500;cursor:pointer;border-radius:.2rem;transition:all .15s ease}.view-button.svelte-gznhoi:hover{background:#ff963c1a;border-color:#ff963c80;color:#ffdcb4e6}.view-button.active.svelte-gznhoi{background:#ff963c26;border-color:#ff963c80;color:#ffdcb4e6}.scale-section.svelte-gznhoi{display:flex;flex-direction:column;gap:.3rem;padding:.6rem 1rem .75rem;font-size:.72rem;color:#ffc896bf}.scale-header.svelte-gznhoi{display:flex;align-items:center;gap:.4rem}.scale-header.svelte-gznhoi span:where(.svelte-gznhoi):first-child{flex:1}.reset-scale-btn.svelte-gznhoi{background:#1a120f;border:1px solid rgba(255,150,60,.3);color:#ffc896b3;padding:.15rem .4rem;font-size:.68rem;font-family:Courier New,monospace;cursor:pointer;border-radius:.2rem;transition:all .15s ease}.reset-scale-btn.svelte-gznhoi:hover{background:#ff963c1a;border-color:#ff963c80;color:#ffdcb4e6}.val.svelte-gznhoi{color:#ffdcb4;font-family:monospace}input[type=range].svelte-gznhoi{width:100%;accent-color:rgba(255,150,60,.8);cursor:pointer}.primary-viewport.svelte-gznhoi{position:relative;width:100%;height:100%}.hint.svelte-gznhoi{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;padding:.75rem 1rem;font-size:.75rem;color:#ffc89673;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);pointer-events:none}.view-section.svelte-285b8j{padding:0;display:flex;flex-direction:column;gap:8px}.view-section.fill-viewport.svelte-285b8j{padding:0;width:100%;height:100%}.canvas-stack.svelte-285b8j{position:relative;width:100%;aspect-ratio:4 / 3;border:1px solid rgba(255,150,60,.15);border-radius:.3rem;overflow:hidden}.fill-viewport.svelte-285b8j .canvas-stack:where(.svelte-285b8j){flex:1;aspect-ratio:unset;height:100%;border:none;border-radius:0}.main-canvas.svelte-285b8j{position:absolute;inset:0;width:100%;height:100%;display:block}.gl-layer.svelte-285b8j{background:#1a1210}.overlay-layer.svelte-285b8j{cursor:grab}.modular-viewport.svelte-1hg5knc{position:relative;width:100%;height:100%}.modular-overlay.svelte-1hg5knc{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:5}.overlay-pill.svelte-1hg5knc{display:flex;align-items:center;gap:1.5rem;background:#120d0be0;border:1px solid rgba(255,150,60,.25);border-radius:4px;padding:.5rem 1.25rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #0000004d}.control-group.svelte-1hg5knc{display:flex;align-items:center;gap:.4rem}.preset-btn.svelte-1hg5knc{background:#1a120f;border:1px solid rgba(255,150,60,.35);color:#ffc89699;padding:0 .6rem;font-size:.8rem;font-weight:500;border-radius:3px;cursor:pointer;transition:all .15s ease;white-space:nowrap;height:1.6rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.preset-btn.svelte-1hg5knc:hover{border-color:#ff963c80;background:#ff963c14;color:#ffdcb4cc}.tau-label.svelte-1hg5knc{font-size:.75rem;color:#ffc896b3;white-space:nowrap;padding-right:2px}.spacer.svelte-1hg5knc{width:1px;height:1.8rem;background:#ff963c26}.inline-label.svelte-1hg5knc{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#ffc896b3;white-space:nowrap}.inline-label.svelte-1hg5knc select:where(.svelte-1hg5knc){background:#1e140fb3;border:1px solid rgba(255,150,60,.35);color:#ffdcb4e6;padding:.2rem .4rem;font-size:.8rem;border-radius:3px;height:1.6rem;box-sizing:border-box;font-family:inherit}sup.svelte-1hg5knc{font-size:.6em}.modular-sidebar.svelte-1hg5knc{display:flex;flex-direction:column}.modular-thumbnail.svelte-1hg5knc{position:relative;aspect-ratio:4/3;border:1px solid rgba(255,150,60,.15);border-radius:.3rem;overflow:hidden;margin:.5rem 1rem .75rem}.sidebar-controls.svelte-1hg5knc{display:flex;flex-direction:column;gap:8px;margin-top:8px;margin-bottom:.9rem;padding:0 1rem}.tau-display.svelte-1hg5knc{font-size:.72rem;font-family:monospace;color:#ffc896b3;text-align:right}.sidebar-label.svelte-1hg5knc{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;font-size:.72rem;color:#ffc896bf}.sidebar-label.svelte-1hg5knc span:where(.svelte-1hg5knc){white-space:nowrap}.sidebar-label.svelte-1hg5knc select:where(.svelte-1hg5knc){background:#1a120f;border:1px solid rgba(255,150,60,.3);color:#ffdcb4cc;padding:.2rem .4rem;font-size:.7rem;border-radius:.2rem;font-family:inherit}.preset-buttons.svelte-1hg5knc{display:flex;align-items:center;gap:4px}.preset-label.svelte-1hg5knc{font-size:.7rem;font-weight:500;color:#ffc896bf;white-space:nowrap;padding-right:2px}.sidebar-btn.svelte-1hg5knc{flex:1;background:#1a120f;border:1px solid rgba(255,150,60,.3);color:#ffc896b3;padding:.3rem .5rem;font-size:.75rem;font-weight:500;cursor:pointer;border-radius:.2rem;transition:all .15s ease;font-family:inherit;min-height:24px;display:flex;align-items:center;justify-content:center}.sidebar-btn.svelte-1hg5knc:hover{background:#ff963c1a;border-color:#ff963c80;color:#ffdcb4e6}.view-section.svelte-1by8kpa{padding:0;display:flex;flex-direction:column}.view-section.fill-viewport.svelte-1by8kpa{width:100%;height:100%}.canvas-stack.svelte-1by8kpa{position:relative;width:100%;aspect-ratio:4 / 3;border:1px solid rgba(255,150,60,.12);border-radius:4px;overflow:hidden}.fill-viewport.svelte-1by8kpa .canvas-stack:where(.svelte-1by8kpa){flex:1;aspect-ratio:unset;height:100%;border:none;border-radius:0}.main-canvas.svelte-1by8kpa{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}.curve-viewport.svelte-1ncfehp{position:relative;width:100%;height:100%}.curve-thumbnail.svelte-1ncfehp{position:relative;aspect-ratio:4/3;border:1px solid rgba(255,150,60,.15);border-radius:.3rem;overflow:hidden;margin:.5rem 1rem .75rem}details.svelte-1nhmqe6{border-bottom:1px solid rgba(255,150,60,.12)}summary.svelte-1nhmqe6{display:flex;align-items:center;padding:.55rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffc89699;list-style:none;gap:.5rem;transition:background .25s ease,color .25s ease}details.primary.svelte-1nhmqe6>summary:where(.svelte-1nhmqe6){background:linear-gradient(90deg,#ff781e21,#ff781e08);color:#ffdcb4d9}summary.svelte-1nhmqe6::-webkit-details-marker{display:none}summary.svelte-1nhmqe6:before{content:"›";font-size:1rem;transition:transform .15s ease;color:#ff963c80;line-height:1}details[open].svelte-1nhmqe6 summary:where(.svelte-1nhmqe6):before{transform:rotate(90deg)}summary.svelte-1nhmqe6:hover{color:#ffdcb4d9;background:#ff963c0a}.pane-label.svelte-1nhmqe6{flex:1}.led-hitarea.svelte-1nhmqe6{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:-.65rem -.25rem;flex-shrink:0;cursor:pointer}.led.svelte-1nhmqe6{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#b45a1eb3;box-shadow:inset 0 1px 2px #00000080,0 0 0 1px #ff82324d;transition:background .2s ease,box-shadow .2s ease}.led.led-on.svelte-1nhmqe6{background:#ff8c28;box-shadow:0 0 4px 1px #ff8c28cc,0 0 10px 2px #ff641480,inset 0 1px 1px #ffdc9666}.led-hitarea.svelte-1nhmqe6:hover .led:where(.svelte-1nhmqe6):not(.led-on){background:#d26e28d9;box-shadow:0 0 5px 1px #ff8c284d,0 0 0 1px #ff823273,inset 0 1px 2px #0000004d}*,*:before,*:after{box-sizing:border-box}body,html{margin:0;height:100%;background:#171210;color:#ffdcb4e6;font-family:system-ui,sans-serif;overflow:hidden}.app.svelte-1uha8ag{height:100vh}.stage.svelte-1uha8ag{position:relative;display:flex;flex-direction:row;width:100%;height:100%}.viewport-container.svelte-1uha8ag{flex:1;position:relative;overflow:hidden}.sidebar.svelte-1uha8ag{width:360px;height:100%;overflow-y:auto;background:#120d0b;box-shadow:-8px 0 24px #00000080;transition:width .2s ease,opacity .2s ease;position:relative;flex-shrink:0;font-size:.78rem;color:#ffdcb4e6}.sidebar.overlay.svelte-1uha8ag{position:absolute;top:0;right:0;height:100%;z-index:100;background:#120d0bfa;flex-shrink:unset}.sidebar.hidden.svelte-1uha8ag{width:0;overflow:hidden;opacity:0;pointer-events:none}.sidebar-header.svelte-1uha8ag{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid rgba(255,150,60,.18);background:#120d0b;flex-shrink:0}.sidebar-title.svelte-1uha8ag{font-size:.85rem;font-weight:600;color:#ffdcb4e6;letter-spacing:.03em;-webkit-user-select:none;user-select:none}.sidebar-actions.svelte-1uha8ag{display:flex;align-items:center;gap:.25rem}.header-link.svelte-1uha8ag{display:flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;color:#ffc89673;text-decoration:none;border-radius:.3rem;transition:color .15s,background .15s}.header-link.svelte-1uha8ag:hover{color:#ffdcb4e6;background:#ff963c1a}.header-btn.svelte-1uha8ag{display:flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;background:none;border:none;color:#ffc89673;border-radius:.3rem;cursor:pointer;transition:color .15s,background .15s;padding:0}.header-btn.svelte-1uha8ag:hover{color:#ffdcb4e6;background:#ff963c1a}.close-btn.svelte-1uha8ag:hover{color:#ff7850e6}.open-btn.svelte-1uha8ag{position:absolute;top:.75rem;right:.75rem;background:#120d0b59;border:1px solid rgba(255,150,60,.2);color:#ffc89680;border-radius:.4rem;width:2rem;height:2rem;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;z-index:4;transition:background .15s,color .15s,border-color .15s}.open-btn.svelte-1uha8ag:hover{background:#120d0bd9;border-color:#ff963c66;color:#ffc896f2}.sidebar details.svelte-1uha8ag{border-bottom:1px solid rgba(255,150,60,.12)}.sidebar summary.svelte-1uha8ag{display:flex;align-items:center;padding:.55rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffc89699;list-style:none;gap:.5rem}.sidebar summary.svelte-1uha8ag::-webkit-details-marker{display:none}.sidebar summary.svelte-1uha8ag:before{content:"›";font-size:1rem;transition:transform .15s ease;color:#ff963c80;line-height:1}.sidebar details[open].svelte-1uha8ag summary:where(.svelte-1uha8ag):before{transform:rotate(90deg)}.sidebar summary.svelte-1uha8ag:hover{color:#ffdcb4d9;background:#ff963c0a}.section-body.svelte-1uha8ag{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 1rem 1rem}.sidebar label.svelte-1uha8ag{display:flex;flex-direction:column;gap:.35rem;color:#ffdcb4cc;font-size:.78rem}.sidebar .slider-header.svelte-1uha8ag{display:flex;justify-content:space-between}.sidebar .val.svelte-1uha8ag{color:#ffb464a6;font-family:monospace;font-size:.75rem}.sidebar select.svelte-1uha8ag{background:#1a120f;border:1px solid rgba(255,150,60,.2);color:#ffdcb4e6;padding:.3rem .5rem;font-size:.78rem;font-family:inherit;width:100%}.sidebar input[type=range].svelte-1uha8ag{width:100%;accent-color:rgba(255,150,60,.8)}.sidebar input[type=checkbox].svelte-1uha8ag{accent-color:rgba(255,150,60,.8);flex-shrink:0}.sidebar .telemetry.svelte-1uha8ag{display:flex;justify-content:space-between;font-size:.75rem;font-family:monospace;color:#ffb46480;padding-top:.25rem}.sidebar .telemetry-val.svelte-1uha8ag{color:#ffb464d9}.sidebar .overlays.svelte-1uha8ag{gap:.55rem}.sidebar .overlay-row.svelte-1uha8ag{display:flex;flex-direction:row;align-items:center;gap:.55rem;color:#ffdcb4cc;cursor:pointer;font-size:.78rem}.sidebar .overlay-row.torus-disabled.svelte-1uha8ag{opacity:.3;cursor:not-allowed;pointer-events:none}.sidebar .overlay-row.disabled.svelte-1uha8ag{opacity:.5;cursor:not-allowed}.sidebar .overlay-row.disabled.svelte-1uha8ag input:where(.svelte-1uha8ag){cursor:not-allowed;opacity:.5}.sidebar .swatch.svelte-1uha8ag{width:28px;height:14px;flex-shrink:0;opacity:.9}
