:root{--night: #0a0a0a;--rail: #0f0f0f;--field: #171717;--raised: #1c1c1c;--text: #fafafa;--soft: #d4d4d4;--muted: #a1a1a1;--faint: #6f6f6f;--line: #ffffff12;--line-strong: #ffffff24;--hair: #ffffff1c;--accent: #d2c6e2;--accent-strong: #b8a5d4;--accent-bg: #3c3447;--accent-wash: #d2c6e214;--danger: #f2a7a7;--danger-wash: #f2a7a714;--danger-solid: #ff5c5c;--warn: #e0b27a;--ok: #7fc8a9;--info: #8fb8ef;--dock-border: #ffffff30;--radius: 12px;--glass: #171717d9;--glass-blur: blur(24px) saturate(1.15);--glass-shadow: 0 12px 32px #0005, inset 0 1px 0 #ffffff12;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif: "Iowan Old Style", Baskerville, "Palatino Linotype", Georgia, serif;--w05: #ffffff05;--w08: #ffffff08;--w0b: #ffffff0b;--w0d: #ffffff0d;--w0f: #ffffff0f;--w10: #ffffff10;--w12: #ffffff12;--w14: #ffffff14;--w17: #ffffff17;--w1c: #ffffff1c;--w24: #ffffff24;--w29: #ffffff29;--w30: #ffffff30;--w33: #ffffff33;--w3a: #ffffff3a;--w40: #ffffff40;--w60: #ffffff60;--primary-bg: #ededed;--primary-hover: #fff;--on-primary: #171717;--on-accent: #eee7f6;--menu-bg: #202020;--field2: #242424;--raised-2: #242126;--ink-2: #c4c4c4;--text-strong: #eee;--scroll: #3a3a3a;--c-green: #7fc8a9;--c-amber: #e0b27a;--c-blue: #8fb8ef;--c-violet: #b9a3d9;--dot-off: #555;--dot-ink: #1a1408;--halo: 0 1px 3px #000, 0 0 6px #000;--dock-width: 480px;--dock-height: 48px;--ease: cubic-bezier(.2,.75,.2,1);color-scheme:dark}html[data-theme=light]{--night: #fafaf9;--rail: #f3f3f1;--field: #fff;--raised: #fff;--text: #171717;--soft: #3a3a3a;--muted: #6b6b67;--faint: #9a9a96;--line: #00000010;--line-strong: #0000001c;--hair: #0000001c;--accent: #6d5a8a;--accent-strong: #8a76a8;--accent-bg: #ece6f4;--accent-wash: #6d5a8a14;--danger: #c4320a;--danger-wash: #c4320a14;--danger-solid: #c4320a;--warn: #b7791f;--ok: #2f8f68;--info: #2f6fcf;--dock-border: #00000014;--glass: #fffffff0;--glass-shadow: 0 1px 2px #0000000d, 0 10px 28px #00000017, inset 0 0 0 1px #00000014;--w05: #00000005;--w08: #00000008;--w0b: #0000000b;--w0d: #0000000d;--w0f: #0000000f;--w10: #00000010;--w12: #00000012;--w14: #00000014;--w17: #00000017;--w1c: #0000001c;--w24: #00000024;--w29: #00000029;--w30: #00000030;--w33: #00000033;--w3a: #0000003a;--w40: #00000040;--w60: #00000060;--primary-bg: #1c1c1c;--primary-hover: #000;--on-primary: #fafafa;--on-accent: #fff;--menu-bg: #fff;--field2: #f3f3f1;--raised-2: #f3f0f7;--ink-2: #3a3a3a;--text-strong: #171717;--scroll: #c9c9c6;--c-green: #2f8f68;--c-amber: #b7791f;--c-blue: #2f6fcf;--c-violet: #7a5bb0;--dot-off: #bbb;--dot-ink: #fff;--halo: none;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--night);color:var(--text);font-family:var(--sans);font-size:12px;-webkit-font-smoothing:antialiased}#root{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;transition:background-color .15s,color .15s,opacity .15s,transform .15s}button:active:not(:disabled){transform:scale(.96)}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}::selection{background:var(--accent-bg);color:var(--text)}.num{font-variant-numeric:tabular-nums}.micro{font-size:11.5px;color:var(--faint)}.glass{border-radius:var(--radius);background:var(--glass);border:1px solid var(--dock-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.app{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--night)}.stage{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden}.stage canvas{display:block}.scene{position:absolute;inset:0;z-index:0}.stage{z-index:1;background:transparent;pointer-events:none}.stage>*{pointer-events:auto}.alerts,.alerts.is-hidden,.dock.is-hidden{pointer-events:none}.alerts>*{pointer-events:auto}.scene-warn{padding:4px 8px;border-radius:999px;background:var(--warn);color:var(--dot-ink);font:600 10px/1.4 var(--sans);letter-spacing:.3px;white-space:nowrap;box-shadow:0 2px 10px #0004}.identity{position:absolute;z-index:90;top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));display:flex;align-items:center;gap:4px;height:46px;padding:6px;border-radius:var(--radius);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:left .3s var(--ease)}.identity-brand{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;color:var(--soft)}.identity-brand:hover,.identity-brand[aria-pressed=true]{color:var(--text);background:var(--w0d)}.identity-links{display:flex;align-items:center;gap:2px;margin-left:2px;padding-left:10px;border-left:1px solid var(--hair)}.status-chip{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 2px 0 9px;color:var(--muted);font-size:12px;line-height:1;white-space:nowrap}.chip-name{display:inline-flex;align-items:center;height:26px;padding:0 6px;border-radius:6px;font:inherit;line-height:1;white-space:nowrap}.chip-name{color:var(--text);font-weight:500;letter-spacing:-.1px;max-width:220px}.chip-name>*{overflow:hidden;text-overflow:ellipsis}button.chip-name:hover{background:var(--w0d);color:var(--text)}.chip-name-input{height:26px;width:180px;padding:0 6px;border-radius:6px;border:1px solid var(--accent-strong);background:var(--field);color:var(--text);font:inherit;font-weight:500;outline:none}.dot{width:8px;height:8px;border-radius:50%;background:var(--dot, var(--faint));box-shadow:0 0 0 1px var(--w33);flex-shrink:0}.dot.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.identity{overflow:clip}.identity-collapse{display:grid;grid-template-columns:1fr;opacity:1;margin-right:2px;transition:grid-template-columns .4s var(--ease),opacity .3s var(--ease),margin .4s var(--ease)}.identity-collapse>*{min-width:0;overflow:hidden}.identity-collapse.collapsed{grid-template-columns:0fr;opacity:0;pointer-events:none;margin-left:-4px;margin-right:0}.identity-collapse.collapsed .identity-links{padding-left:0;margin-left:0;border-left-color:transparent}.identity-links{transition:padding .4s var(--ease),margin .4s var(--ease),border-color .3s}.alerts,.dock{transition:transform .4s var(--ease),opacity .3s var(--ease)}.alerts.is-hidden{transform:translate(-50%,-14px);opacity:0;pointer-events:none}.dock.is-hidden{transform:translate(-50%,24px);opacity:0;pointer-events:none}.corner{position:absolute;z-index:90;top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px}.corner-box{display:flex;align-items:center;padding:6px;border-radius:var(--radius);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.corner-button{display:grid;place-items:center;width:34px;height:34px;border-radius:7px;color:var(--soft)}.corner-button:hover,.corner-button[aria-expanded=true]{background:var(--w0b);color:var(--text)}.corner-icon{display:grid;width:17px;height:17px}.corner-icon svg{grid-area:1 / 1;transition:opacity .26s ease}.corner-icon svg:last-child,.corner-icon.is-close svg:first-child{opacity:0}.corner-icon.is-close svg:last-child{opacity:1}.icon-btn{display:grid;place-items:center;width:46px;height:46px;padding:0;border-radius:var(--radius);color:var(--soft);background:var(--glass);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.icon-btn:hover{color:#fff}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{color:#fff;background:var(--danger)}.alerts{position:absolute;z-index:85;top:max(20px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.alert{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 10px 8px 14px;font-size:12px;color:var(--text-strong);pointer-events:auto;animation:card-in .22s ease-out both}.alert.warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.alert.danger{border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.alert svg{flex-shrink:0}.alert .alert-actions{display:flex;gap:4px;margin-left:4px}@keyframes card-in{0%{opacity:0;translate:0 8px}}.sidebar{position:absolute;z-index:80;top:calc(max(20px,env(safe-area-inset-top)) + 56px);bottom:max(26px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;border-radius:var(--radius);background:var(--glass);border:1px solid var(--dock-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--soft);transform:translate(calc(-100% - 24px));opacity:0;transition:transform .36s var(--ease),opacity .3s}.sidebar.open{transform:none;opacity:1}.sidebar:not(.open),.rightpanel:not(.open){pointer-events:none}.sidebar.dragging{transition:none;-webkit-user-select:none;user-select:none}.sb-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:48px;padding:0 10px 0 16px;border-bottom:1px solid var(--line);flex-shrink:0}.sb-title{font-family:var(--serif);font-size:17px;letter-spacing:-.2px;color:var(--text)}.sb-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:var(--muted)}.sb-icon:hover{background:var(--w0f);color:var(--text)}.theme-switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;place-items:center;width:40px;height:18px;padding:0;border-radius:999px;background:var(--w1c);border:1px solid var(--w30);color:var(--faint);cursor:pointer}.theme-switch i{position:absolute;top:1px;left:1px;width:18px;height:14px;border-radius:999px;background:var(--w30);transition:transform .2s var(--ease)}.theme-switch.is-light i{transform:translate(18px)}.theme-switch svg{position:relative;transition:color .2s}.theme-switch:not(.is-light) svg:first-of-type,.theme-switch.is-light svg:last-of-type{color:var(--text)}.sb-menu-up{animation-name:menu-up}@keyframes menu-up{0%{opacity:0;transform:translateY(4px) scale(.98)}}.sb-menu-label{padding:6px 10px 4px;color:var(--faint);font-size:11px}.sb-menu-ic{display:inline-flex;align-items:center;gap:8px}.sb-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 8px 16px;scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}.rp-field.is-locked input{opacity:.5;cursor:not-allowed}.switch{position:relative;display:inline-block;width:30px;height:18px;margin-left:10px;padding:0;border-radius:999px;background:var(--w1c);border:1px solid var(--w30);vertical-align:middle;transition:background-color .2s,border-color .2s;cursor:pointer}.switch i{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text);transition:transform .2s var(--ease)}.switch.is-on{background:var(--accent-bg);border-color:var(--accent-strong)}.switch.is-on i{transform:translate(12px);background:#fff}.probe-table{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;width:100%;padding:10px 12px 12px;border-radius:10px;background:var(--w0b);border:1px solid transparent;text-align:left;font:inherit;color:var(--soft);transition:background-color .15s,border-color .15s;cursor:pointer}.probe-table:hover{background:var(--w0f);border-color:var(--w1c)}.probe-table:hover .probe-edit{opacity:1}.probe-row{display:flex;justify-content:space-between;gap:8px;font-size:12px}.probe-row .k{color:var(--faint)}.probe-row .v{color:var(--text);font-variant-numeric:tabular-nums}.probe-row .v small{color:var(--faint);font-size:10px}.probe-edit{position:absolute;top:6px;right:8px;display:inline-flex;align-items:center;gap:4px;color:var(--faint);font-size:10px;opacity:0;transition:opacity .15s}.probe-actions{display:flex;gap:8px;margin-top:2px}.select{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:7px;background:var(--field);color:var(--text);font:inherit;font-size:12px;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.select>svg{flex:none;color:var(--faint)}.select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select:hover:not(:disabled),.select.is-open{border-color:var(--w30)}.select:disabled{opacity:.55;cursor:not-allowed}.select-menu{z-index:120;max-height:320px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}.probe-action{flex:1;min-width:0;height:36px;padding:0 12px;border-radius:8px;background:var(--field);border:1px solid var(--w1c);font-size:12px}.probe-run{flex:0 0 auto;min-width:128px;height:36px;background:var(--primary-bg);color:var(--on-primary)}.path-form .probe-run{min-width:104px;height:32px}.path-form .probe-actions .probe-action{flex:1;min-width:0}.probe-run:hover:not(:disabled){background:var(--primary-hover)}.probe-run.is-running{background:var(--w17);color:var(--text)}.probe-run.is-contact{background:var(--warn);color:var(--dot-ink)}.probe-run.is-error{background:var(--danger-wash);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.probe-run.is-done{background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok)}.sb-section{margin-top:10px;border-radius:10px;transition:box-shadow .3s}.sb-section.is-flash{box-shadow:0 0 0 1px var(--accent-strong),0 0 0 4px color-mix(in srgb,var(--accent-strong) 25%,transparent);animation:section-flash 1.5s var(--ease) both}@keyframes section-flash{0%,70%{box-shadow:0 0 0 1px var(--accent-strong),0 0 0 4px color-mix(in srgb,var(--accent-strong) 25%,transparent)}to{box-shadow:0 0 0 1px transparent,0 0 0 4px transparent}}.sb-section+.sb-section{margin-top:14px}.sb-section-head{position:relative;display:flex;align-items:center;gap:4px;height:30px;padding:0 2px 0 0;color:var(--faint);font-size:12px}.sb-section-title{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:6px;color:var(--faint);font-size:12px}.sb-section-title:hover{color:var(--soft);background:var(--w0b)}.sb-caret{transition:transform .2s var(--ease);color:var(--faint)}.sb-caret.closed{transform:rotate(-90deg)}.sb-section-action{margin-left:auto;display:flex;align-items:center;gap:2px}.sb-section-action .sb-icon{width:26px;height:26px}.sb-icon.is-on{color:var(--text);background:var(--w12)}.sb-menu{z-index:95;min-width:196px;padding:6px;border-radius:12px;background:var(--menu-bg);border:1px solid var(--dock-border);box-shadow:0 16px 48px #0006,inset 0 1px 0 var(--w12);animation:menu-in .2s var(--ease) both;transform-origin:top right}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.sb-menu-item{position:relative}.sb-menu-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px 0 10px;border-radius:8px;color:var(--text);font-size:13px;text-align:left}.sb-menu-row:hover,.sb-menu-row.is-open{background:var(--w0b)}.sb-submenu{position:absolute;z-index:6;top:-6px;left:calc(100% + 4px);min-width:140px;padding:6px;border-radius:12px;background:var(--menu-bg);border:1px solid var(--dock-border);box-shadow:0 16px 48px #0006,inset 0 1px 0 var(--w12);animation:menu-in .18s var(--ease) both;transform-origin:top left}.sb-submenu .sb-menu-row{grid-template-columns:1fr auto}.sb-menu-row.with-icon{grid-template-columns:auto 1fr auto}.sb-menu-row.with-icon>svg:first-child{color:var(--faint)}.sb-menu-row>small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-check{color:var(--c-blue)}.sb-submenu.left{left:auto;right:calc(100% + 4px);transform-origin:top right}.sb-menu-row.static{cursor:default;color:var(--faint)}.sb-menu-row.static:hover{background:transparent}.menu-separator{height:1px;margin:4px 8px;background:var(--line)}.sb-menu-row>small{color:var(--faint);font-size:12px}.sb-menu-row>svg{color:var(--faint)}.sb-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:9px;align-items:center;width:100%;height:34px;padding:0 6px 0 8px;border-radius:8px;color:var(--ink-2, var(--ink-2));font-size:13px;text-align:left;cursor:pointer;transition:background-color .15s,color .15s}.sb-row:hover{background:var(--w0b);color:var(--text)}.sb-row.is-current{background:var(--w12);color:var(--text)}.sb-row.no-icon{grid-template-columns:minmax(0,1fr) auto;padding-left:10px}.sb-row-icon{color:var(--faint);flex:none}.sb-row.is-current .sb-row-icon{color:var(--soft)}.sb-dot{display:block;width:7px;height:7px;margin:0 3px;border-radius:50%;background:var(--faint);flex:none}.sb-dot.pulse{animation:pulse 1.2s ease-in-out infinite}.sb-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.35}.sb-label.danger{color:var(--danger)}.sb-rename{min-width:0;height:24px;padding:0 6px;margin:0 -6px;border:1px solid var(--accent-strong);border-radius:5px;background:var(--field);color:var(--text);font-size:13px;outline:0}.sb-row-action{width:24px;height:24px;opacity:0}.sb-row:hover .sb-row-action,.sb-row:focus-within .sb-row-action,.sb-row.has-menu .sb-row-action{opacity:1}.sb-menu-row.danger{color:var(--danger)}.sb-menu-row.danger>svg:first-child{color:var(--danger)}.sb-empty{padding:6px 8px 4px;color:var(--faint);font-size:12px;line-height:1.5}.sb-resize{position:absolute;top:24px;bottom:24px;right:-7px;width:14px;cursor:col-resize;display:flex;justify-content:center}.sb-guide{width:1px;height:100%;border-radius:1px;background:transparent;transition:background-color .15s}.sb-resize:hover .sb-guide,.sidebar.dragging .sb-guide{background:var(--w40)}.dock{position:absolute;z-index:50;left:50%;transform:translate(-50%);bottom:max(26px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px)}.dock-surface{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;height:56px;padding:0 9px;border-radius:var(--radius);background:var(--glass);border:1px solid transparent;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);white-space:nowrap;overflow:hidden}.dock:hover .dock-surface,.dock:focus-within .dock-surface{position:relative;display:flex;align-items:center;justify-content:center;gap:4px;height:56px;padding:0 9px;border-radius:var(--radius);background:var(--glass);border:1px solid transparent;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);white-space:nowrap;overflow:hidden}.dock-tabs,.dock-group,.dock-group-wrap{display:flex;align-items:center;gap:4px}.dock-row{display:flex;align-items:center;gap:4px;flex:none;width:max-content}.dock-surface{transition:width .4s var(--ease),border-color .16s,box-shadow .16s}.dock-row>*{animation:dock-in .3s var(--ease) both}@keyframes dock-in{0%{opacity:0}}.zero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end}.zero-axis{display:flex;flex-direction:column;gap:8px}.zero-field{display:flex;align-items:baseline;gap:6px;padding:0 2px;border-bottom:1px solid var(--w29)}.zero-field>span{color:var(--faint);font-size:11px;font-weight:600;width:10px}.zero-field input{flex:1;width:0;min-width:0;padding:4px 0 7px;border:0;background:transparent;color:var(--text);font-size:14px;outline:0;font-variant-numeric:tabular-nums}.zero-field small{color:var(--faint);font-size:10px}.zero-all{align-self:end;height:28px;padding:0 12px}.measure{display:grid;gap:6px}.rp-row{display:flex;flex-direction:column;border-radius:8px}.rp-row-line{display:flex;align-items:center;gap:2px}.rp-inline{padding:4px 8px 10px 30px}.path-form.inline{min-width:0;padding:0;background:transparent;border:0;box-shadow:none}.path-form.inline .rp-field{grid-template-columns:80px 1fr 36px}.path-form.inline .path-form-cols{grid-template-columns:1fr;gap:0}.path-form.inline .layer-row{grid-template-columns:1fr 56px 22px auto}.rp-row.is-selected{background:var(--w0b)}.rp-row-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:32px;padding:0 8px;border-radius:8px;color:var(--soft);font-size:13px;text-align:left}.rp-row-main:hover{background:var(--w0b);color:var(--text)}.rp-row-main>svg{color:var(--faint);flex:none}.rp-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-row-main small{margin-left:auto;color:var(--faint);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.rp-row-tools{display:flex;align-items:center;gap:0;padding-right:4px;opacity:0;transition:opacity .15s}.rp-row:hover .rp-row-tools,.rp-row.is-selected .rp-row-tools{opacity:1}.rp-row-tools input[type=checkbox]{margin:0 4px}.path-form{min-width:300px}.layers{margin:6px 0 8px}.layers-head{display:flex;align-items:center;justify-content:space-between;color:var(--faint);font-size:11px;margin-bottom:2px}.layer-row{display:grid;grid-template-columns:1fr 64px 24px auto;align-items:center;gap:6px;height:30px}.layer-tools{display:flex;gap:0}.layer-tools .sb-icon{width:22px;height:22px}.layer-row input{height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:7px;background:var(--field);color:var(--text);font-size:12px;outline:0;min-width:0}.layer-row small{color:var(--faint);font-size:10px}.sb-section.inline{margin-top:0}.rp-step{margin:2px 0 6px;padding:2px 0;border-left:2px solid transparent}.rp-step.is-active{border-left-color:var(--accent-strong)}.rp-op-row{margin-left:14px}.sb-empty.sub{margin-left:22px;font-size:11px}.path-form.wide{min-width:520px}.path-form .rp-field{grid-template-columns:92px 1fr 44px}.path-form-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.op-name{background:transparent;border:0;border-bottom:1px solid transparent;color:var(--text-strong);font:inherit;font-weight:550;outline:0;width:180px}.op-name:focus{border-bottom-color:var(--accent-strong)}.sim{display:grid;gap:6px}.sim-row{display:flex;align-items:center;gap:8px}.sim-row input[type=range]{flex:1}.sim-time{color:var(--faint);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.sim-speed{width:64px;height:28px}.sim-view{width:104px;height:28px}.sb-section-meta{color:var(--faint);font-size:11px;margin-right:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.rp-step .rp-row-main .sb-caret{color:var(--faint)}.path-form.embedded{padding:0}.sim-row.meta{color:var(--faint);font-size:11px}.dock-tab.primary{color:var(--accent)}.dock-tab.primary:disabled{opacity:.45}.tray-head h3{display:flex;align-items:center}.head-select{width:auto;height:26px;margin-left:10px;padding:0 8px;font-size:12px;font-weight:400}.pos-editor{min-width:420px}.scene-tag.accent{color:var(--accent);border-color:var(--accent-strong)}.scene-tag-sub{color:var(--faint);font-weight:400}.measure-row{display:grid;grid-template-columns:96px repeat(3,1fr) 96px;align-items:center;gap:8px;height:30px}.measure-row .k{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.measure-row.head{height:22px;color:var(--faint);font-size:11px}.measure-row .k{color:var(--faint);font-size:12px;font-weight:600}.measure-row .v{color:var(--text);font-size:13px;font-variant-numeric:tabular-nums;text-align:right}.measure-row .v.total,.measure-row .v.is-face{color:var(--accent)}.measure-row.is-next{background:var(--w0b);border-radius:6px}.measure-row .v .ghost{color:var(--faint)}.measure-row .k small{font-weight:400;font-size:10px;color:var(--faint)}.measure-row .k small{color:var(--accent);font-weight:600;margin-left:2px}.measure-row .btn{justify-self:end}.dock-divider{width:1px;height:22px;margin:0 4px;background:var(--w1c);flex:none}.dock-tab.danger{color:var(--danger)}.dock-tab.danger:hover:not(:disabled){background:var(--danger-wash);color:var(--danger)}.dock-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 12px;border-radius:8px;color:var(--ink-2);font-size:13px;white-space:nowrap;flex:none}.dock-tab>svg{color:var(--faint);flex-shrink:0}.dock-tab:hover{color:var(--text);background:var(--w10)}.dock-tab:hover>svg{color:var(--text)}.dock-tab[aria-selected=true]{color:var(--accent);background:var(--accent-wash)}.dock-tab[aria-selected=true]>svg{color:var(--accent)}.dock-tab .badge{position:absolute;top:6px;right:8px;width:6px;height:6px;border-radius:50%;background:var(--info)}.tray{position:absolute;z-index:4;left:50%;transform:translate(-50%,6px);width:min(480px,calc(100vw - 40px));bottom:calc(100% + 8px);padding:14px 16px 16px;border:1px solid var(--dock-border);border-radius:var(--radius);background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);opacity:0;visibility:hidden;transform-origin:bottom;transition:opacity .16s,transform .2s var(--ease),visibility .16s;color:var(--soft);max-height:min(560px,calc(100svh - 200px));overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}.tray.open{opacity:1;visibility:visible;transform:translate(-50%)}.tray-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.tray-head h3{margin:0;font-size:15px;font-weight:550;letter-spacing:-.3px;color:var(--text-strong)}.tray-head p{margin:2px 0 0;font-size:11px;color:var(--faint);line-height:1.5}.tray-tools{display:flex;align-items:center;gap:2px;margin:-2px -6px 0 0;align-self:flex-start}.tray-icon{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:7px;color:var(--muted);flex:none}.tray-icon:hover{background:var(--w14);color:var(--text)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row+.row,.block+.block,.row+.block,.block+.row{margin-top:12px}.label{display:block;margin-bottom:6px;font-size:10px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 12px;border-radius:7px;background:var(--w0d);color:var(--text-strong);font-size:12px;font-weight:500;border:1px solid transparent;white-space:nowrap}.btn:hover:not(:disabled){background:var(--w17);color:#fff}.btn.primary{background:var(--primary-bg);color:var(--on-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.accent{background:var(--accent-bg);color:var(--on-accent);border-color:var(--accent-strong)}.btn.accent:hover:not(:disabled){background:var(--accent-strong);color:#fff}.btn.danger{background:var(--danger-wash);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.btn.danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn.ghost{background:transparent;color:var(--muted)}.btn.ghost:hover:not(:disabled){color:#fff;background:var(--w0d)}.btn.sm{min-height:28px;padding:0 9px;font-size:11px}.btn.wide{width:100%}.btn.lg{min-height:44px;font-size:13px}.btn .num{font-weight:500}.chips{display:flex;gap:4px;flex-wrap:wrap}.chip{min-height:28px;padding:0 10px;border-radius:999px;background:var(--field2);border:1px solid var(--line-strong);color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.chip:hover:not(:disabled){color:var(--text-strong);border-color:#5a5a5a}.chip[aria-pressed=true]{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-strong)}.chip.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.chip.warn{background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}.chip.danger{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.field span{font-size:11px;color:var(--muted)}.field input,.field select{width:100%;padding:3px 0 7px;border:0;border-bottom:1px solid var(--w29);border-radius:0;outline:0;color:var(--text);background:transparent;font-size:14px;transition:border-color .2s;font-variant-numeric:tabular-nums}.field input:focus{border-color:var(--accent)}.field select{padding:8px 10px;background-color:var(--field2);border:1px solid var(--w29);border-radius:6px;color:var(--text-strong);font-size:12px}.widget{margin:0;padding:13px 14px;border-radius:8px;background:var(--raised-2);border:1px solid var(--hair);color:var(--soft)}.widget+.widget,.row+.widget,.widget+.row,.block+.widget,.widget+.block{margin-top:12px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:12px 14px;margin:0}.facts dt{margin:0 0 4px;color:var(--muted);font-size:10px}.facts dd{margin:0;font-size:15px;font-weight:450;letter-spacing:-.3px;color:var(--text-strong);font-variant-numeric:tabular-nums}.hint{font-size:11px;line-height:1.55;color:var(--faint);margin:0}.hint.warn{color:var(--warn)}.hint.danger{color:var(--danger)}.hint.ok{color:var(--ok)}.progress{height:6px;border-radius:999px;background:var(--w14);overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);transition:width .2s}.jog{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.pad{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,56px);gap:6px}.pad .btn{min-height:0;height:56px;padding:0;font-size:12px;font-weight:500}.pad .btn.center{background:transparent;color:var(--faint);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.zpad{display:grid;grid-template-rows:56px 56px 56px;gap:6px}.zpad .btn{min-height:0;height:56px;width:56px;padding:0}.console-log{height:220px;overflow:auto;padding:8px 10px;border-radius:8px;background:var(--rail);border:1px solid var(--hair);font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);scrollbar-width:thin;scrollbar-color:var(--scroll) transparent}.console-log .tx{color:var(--text-strong)}.console-log .tx:before{content:"› ";color:var(--faint)}.console-log .rx.err{color:var(--danger)}.console-log .rx.ok{color:var(--faint)}.console-log .sys{color:var(--accent)}.console-form{display:flex;gap:10px;margin-top:10px}.console-form input{flex:1;min-width:0;height:34px;padding:0;border:0;border-bottom:1px solid var(--w29);background:transparent;outline:0;color:var(--text);font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.console-form input:focus{border-color:var(--accent)}.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:92px;padding:14px;border:1px dashed var(--w30);border-radius:8px;color:var(--faint);font-size:11px;cursor:pointer;transition:border-color .15s,background-color .15s}.drop:hover,.drop.over{border-color:var(--accent);background:var(--accent-wash);color:var(--soft)}.drop input{display:none}.spin{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.bottombar{position:relative;z-index:2;display:flex;align-items:stretch;justify-content:space-between;height:36px;background:var(--night);border-top:1px solid var(--line);color:var(--faint);font-family:var(--sans);font-size:12px;flex-shrink:0;white-space:nowrap;overflow:hidden}.bb-left,.bb-right{display:flex;align-items:stretch;min-width:0}.bb-left{overflow:hidden}.bb-seg{position:relative;display:inline-flex;align-items:center;gap:7px;height:100%;padding:0 12px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--faint);font:inherit;font-variant-numeric:tabular-nums;cursor:default;transition:background-color .15s,color .15s}.bb-right .bb-seg{border-right:0;border-left:1px solid var(--line)}button.bb-seg{cursor:pointer}button.bb-seg:hover,.bb-seg.is-on{background:var(--w0b);color:var(--text)}button.bb-seg:active:not(:disabled){transform:none}.bb-seg.static.muted,.bb-k{color:var(--faint)}.bb-v{color:var(--text)}.bb-m{color:var(--faint)}.bb-m.ok,.bb-v.ok{color:var(--ok)}.bb-m.warn,.bb-v.warn,.bb-seg.unhomed .bb-v,.bb-axis.unhomed .bb-v{color:var(--warn)}.bb-seg.axes{gap:16px}.bb-axis{display:inline-flex;align-items:center;gap:6px}.bb-axis .bb-k{font-size:10.5px;letter-spacing:.04em}.bb-seg.homed{background:color-mix(in srgb,var(--ok) 16%,transparent)}button.bb-seg.homed:hover{background:color-mix(in srgb,var(--ok) 26%,transparent)}.bb-seg.state{color:var(--muted)}.bb-seg.state.run{color:var(--info)}.bb-seg.state.alarm{color:var(--danger)}.bb-seg.state.hold{color:var(--warn)}.bb-seg.state.idle{color:var(--ok)}.bb-copied{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--night);color:var(--ok);animation:fade-in .12s ease both}@keyframes fade-in{0%{opacity:0}}.bb-pop{padding:10px 12px 12px;min-width:240px;animation:menu-up .18s var(--ease) both}@keyframes menu-up{0%{opacity:0;transform:translateY(6px) scale(.98)}}.bb-pop-list{display:flex;flex-direction:column;gap:2px;margin:-4px -6px}.bb-pop-form{display:flex;flex-direction:column;gap:10px;font-family:var(--sans);font-size:12px}.bb-pop-form .row{gap:6px}.bb-pop-form .field input{font-size:13px;padding:2px 0 5px}.bb-pop-title{display:flex;align-items:baseline;gap:8px;color:var(--text);font-weight:500}.bb-pop-title small{color:var(--faint);font-weight:400;font-size:11.5px}.console{height:0;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--night);border-top:1px solid transparent;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;transition:height .4s var(--ease),border-color .3s}.console.open{height:min(340px,45vh);border-top-color:var(--line-strong)}.console-out{flex:1;min-height:0;overflow-y:auto;padding:10px 14px 6px;scrollbar-width:thin;scrollbar-color:var(--scroll) transparent;overscroll-behavior:contain}.cl{display:grid;grid-template-columns:64px 12px 1fr;gap:8px;color:var(--muted);white-space:pre-wrap;word-break:break-word}.cl-t{color:var(--faint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.cl-p{color:var(--faint);text-align:center;-webkit-user-select:none;user-select:none}.console-out .cl-x{-webkit-user-select:text;user-select:text}.cl.tx .cl-x{color:var(--text)}.cl.tx .cl-p{color:var(--accent)}.cl.rx.ok .cl-x{color:var(--faint)}.cl.rx.err .cl-x{color:var(--danger)}.cl.sys .cl-x{color:var(--accent)}.console-in{position:relative;flex-shrink:0;height:0}.console-line{height:22px;align-items:center}.console-out{padding-bottom:12px;cursor:text}.console-prompt{color:var(--accent);font-weight:600}.console-field{position:relative;min-width:0;height:100%}.console-field input,.console-ghost{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;font:inherit;letter-spacing:.01em;white-space:pre}.console-field input{color:var(--text);outline:0;caret-color:var(--text);z-index:1}.console-field input::placeholder{color:var(--faint)}.console-ghost{display:flex;align-items:center;color:var(--faint);pointer-events:none;overflow:hidden}.console-ghost .typed{color:transparent}.console-err{color:var(--danger);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.console-sugg{position:absolute;left:98px;bottom:calc(100% + 36px);z-index:4;min-width:360px;max-width:560px;padding:6px;border-radius:10px;background:var(--glass);border:1px solid var(--dock-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);animation:menu-in .16s var(--ease) both;transform-origin:bottom left}.console-sugg button{display:grid;grid-template-columns:minmax(140px,auto) 1fr;gap:14px;align-items:center;width:100%;height:28px;padding:0 8px;border-radius:6px;color:var(--muted);font:inherit;text-align:left}.console-sugg button code{color:var(--text);font:inherit}.console-sugg button code i{font-style:normal;color:var(--faint)}.console-sugg button span{font-family:var(--sans);font-size:11.5px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-sugg button:hover,.console-sugg button.is-sel{background:var(--w0d);color:var(--text)}.rightpanel{position:absolute;z-index:80;top:calc(max(20px,env(safe-area-inset-top)) + 56px);bottom:max(26px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));width:300px;display:flex;flex-direction:column;border-radius:var(--radius);background:var(--glass);border:1px solid var(--dock-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:var(--soft);transform:translate(calc(100% + 24px));opacity:0;transition:transform .36s var(--ease),opacity .3s}.rightpanel.open{transform:none;opacity:1}.rightpanel.dragging{transition:none;-webkit-user-select:none;user-select:none}.rp-resize{position:absolute;top:24px;bottom:24px;left:-7px;width:14px;cursor:col-resize;display:flex;justify-content:center}.rp-resize:hover .sb-guide,.rightpanel.dragging .sb-guide{background:var(--w40)}.jogpad{--jp-sq: 79.5px;--jp-scale: .8;transform:scale(var(--jp-scale));transform-origin:bottom right;position:absolute;z-index:60;bottom:max(26px,env(safe-area-inset-bottom));right:20px;display:grid;grid-template-columns:320px var(--jp-sq) var(--jp-sq);column-gap:10px;row-gap:6px;align-items:start;transition:right .36s var(--ease);-webkit-user-select:none;user-select:none;touch-action:none}.rp-dragging .jogpad{transition:none}.jp-main{display:flex;flex-direction:column;align-items:center;gap:4px;width:320px;transition:opacity .2s}.jp-step{height:32px;margin-top:0}.jp-feed{grid-column:1 / -1;grid-template-columns:36px minmax(0,1fr) 104px;margin:0;padding:0 6px}.jp-feed .label{font-size:11px}.jp-feed .field.num input{font-size:12px;padding:1px 0 4px}.jp-main.is-busy{opacity:.45}.jp-col{display:flex;flex-direction:column;gap:8px;width:var(--jp-sq)}.jp-hbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:var(--jp-sq);height:var(--jp-sq);border-radius:12px;border:1px solid var(--w30);background:var(--w0f);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);color:var(--muted);font:600 13px var(--sans);transition:background-color .15s,color .15s,border-color .15s}.jp-hbtn.all{font-size:11px}.jp-hbtn:hover:not(:disabled){background:var(--w17);color:var(--text)}.jp-hbtn:disabled{opacity:.45;cursor:not-allowed}.jogpad svg{display:block}.jp-seg path{fill:var(--w0f);stroke:var(--w30);stroke-width:.7;transition:fill .12s;cursor:pointer}.jp-seg.center path{fill:var(--w12)}.jp-seg:hover path{fill:var(--w17)}.jp-seg.is-active path{fill:var(--accent-bg);stroke:var(--accent-strong)}.jp-seg text{fill:var(--muted);font:600 6.5px var(--sans);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.jp-seg:hover text,.jp-seg.is-active text{fill:var(--text)}.jp-main.is-busy .jp-seg path{cursor:not-allowed}.jp-sliders{width:100%;padding:0 6px}.jp-sliders .slider-row{margin-top:6px;grid-template-columns:36px minmax(0,1fr) 104px}.jp-sliders .slider-row .label{font-size:11px}.jp-sliders .field.num input{font-size:12px;padding:1px 0 4px}.corner-divider{width:1px;height:26px;margin:0 4px;background:var(--w1c)}.rp-body{display:flex;flex-direction:column;gap:6px;padding:2px 8px 10px}.rp-field{display:grid;grid-template-columns:96px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:28px;font-size:12px}.rp-field>span{color:var(--faint)}.rp-field>small{color:var(--faint);font-size:11px}.rp-field input,.rp-field select{width:100%;height:26px;padding:0 8px;border:1px solid var(--line-strong);border-radius:7px;background-color:var(--field);color:var(--text);font-size:12px;outline:0;font-variant-numeric:tabular-nums}.rp-field input:focus,.rp-field select:focus{border-color:var(--accent)}.rp-field input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-strong);justify-self:start}.rp-field.check>small{grid-column:2 / 4}.rp-field.check>small:empty{display:none}.rp-sub{padding-left:14px}.sb-icon:disabled .spin{opacity:1}.rp-tool{margin:4px 4px 8px;padding:6px 4px 2px;border:1px solid var(--line);border-radius:10px}.rp-tool.is-active{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.rp-tool-head{display:flex;align-items:center;gap:6px;padding:0 4px 6px}.rp-tool-name{flex:1;min-width:0;height:26px;padding:0 6px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font-size:13px;font-weight:500;outline:0}.rp-tool-name:hover,.rp-tool-name:focus{border-color:var(--line-strong);background:var(--field)}.rp-tool .chip{min-height:22px;padding:0 8px;font-size:11px}.rp-card{margin:2px 0 4px;padding:2px 0;border-left:2px solid transparent;border-radius:0}.rp-card.is-active{border-left-color:var(--accent-strong)}.rp-card.is-drop{box-shadow:0 -2px 0 var(--accent-strong)}.rp-card>.rp-row-line[draggable=true]{cursor:grab}.rp-value>b{font-weight:550;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text);padding:0 8px}.rp-value>b.ok{color:var(--ok)}.rp-value>b.warn{color:var(--warn)}.rp-value>b.danger{color:var(--danger)}.rp-card.is-danger>.rp-row-line .rp-tool-name,.rp-card.is-danger>.rp-row-line .rp-row-name{color:var(--danger)}.rp-card>.rp-row-line{padding-right:2px}.rp-card>.rp-row-line .rp-tool-name{font-weight:500}.rp-card-meta{flex:0 1 auto;min-width:0;color:var(--faint);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%;margin-right:2px}.rp-card>.rp-row-line .rp-tool-name,.rp-card>.rp-row-line .rp-row-main{flex:1 1 80px;min-width:80px;height:26px;padding:0 6px}.rp-card>.rp-row-line .rp-row-main .rp-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-card-meta.danger{color:var(--danger)}.rp-card-check{width:13px;height:13px;margin:0 3px;accent-color:var(--accent-strong);flex:none}.rp-card>.rp-row-line .sb-icon{flex:none}.rp-card>.rp-body{padding:2px 4px 8px 22px}.rp-card .rp-field{grid-template-columns:72px minmax(0,1fr) 36px}.rp-card .rp-field.rot{grid-template-columns:72px minmax(48px,1fr) 16px auto}.rp-card-children{margin-left:18px;padding-left:6px;border-left:1px solid var(--line)}.rp-field.rot{grid-template-columns:96px minmax(0,1fr) 16px auto}.path-form.inline .rp-field.rot{grid-template-columns:80px minmax(48px,1fr) 16px auto}.rot-tools{display:flex;align-items:center;gap:2px}.slider-row{display:grid;grid-template-columns:40px minmax(0,1fr) 118px;align-items:center;gap:12px;margin-top:12px}.slider-row .label{margin:0}.slider-row .field.num{flex-direction:row;align-items:baseline;gap:6px}.slider-row .field.num input{font-size:13px;padding:2px 0 5px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--w24)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-top:-5.5px;border-radius:50%;background:var(--text);border:2px solid var(--night);box-shadow:0 0 0 1px var(--w40)}input[type=range]::-moz-range-track{height:3px;border-radius:2px;background:var(--w24)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--text);border:0}.console{position:relative;z-index:2}.console-grip{position:absolute;top:-4px;left:0;right:0;height:9px;cursor:row-resize;z-index:3}.console-grip:after{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:transparent;transition:background-color .15s}.console-grip:hover:after,.console.resizing .console-grip:after{background:var(--accent)}.console.resizing{transition:none;-webkit-user-select:none;user-select:none}.scene-tag{padding:3px 7px;border-radius:6px;background:var(--glass);border:1px solid var(--dock-border);color:var(--soft);font:500 10px/1.4 var(--sans);white-space:nowrap;box-shadow:var(--glass-shadow)}.scene-axis{font:600 12px/1 var(--sans);text-shadow:var(--halo)}.scene-warn.ok{background:var(--ok)}@media(max-width:720px){.dock-tab span{display:none}.sidebar,.rightpanel{width:calc(100vw - 40px)!important;max-width:none}.sb-resize,.rp-resize{display:none}.jogpad.is-mobile{right:auto;left:50%;bottom:calc(max(26px,env(safe-area-inset-bottom)) + 68px);transform:translate(-50%) scale(var(--jp-scale));transform-origin:bottom center;padding:12px 12px 8px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--dock-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:transform .36s var(--ease),opacity .3s}.jogpad.is-mobile.is-closed{transform:translate(-50%,24px) scale(var(--jp-scale));opacity:0;pointer-events:none}.bottombar{height:40px}.bb-left{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.bb-left::-webkit-scrollbar{display:none}.bb-left .bb-seg{flex:0 0 auto;padding:0 8px;gap:5px;font-size:11px}.bb-right{flex:0 0 auto}.bb-right .bb-seg{width:40px;padding:0;justify-content:center}.bb-right .bb-seg .bb-v{display:none}.bb-pop{left:8px!important;right:8px;width:auto}}.rp-check,.rp-step{display:grid;grid-template-columns:14px minmax(0,1fr) auto;column-gap:8px;align-items:center;min-height:30px;padding:3px 6px 3px 8px;border-radius:7px;font-size:12px;color:var(--soft)}.rp-check-text{display:flex;flex-direction:column;min-width:0}.rp-check-text small{color:var(--faint);font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.rp-check .sb-dot{margin:0;justify-self:center}.rp-check .sb-dot.ok{background:var(--ok)}.rp-check .sb-dot.warn{background:var(--warn)}.rp-check .sb-dot.fail{background:var(--danger)}.rp-check.is-fail>.rp-check-text>span{color:var(--text)}.rp-step{color:var(--muted)}.rp-step.pause{color:var(--faint);font-size:11.5px}.rp-step.pause svg{justify-self:center;color:var(--warn)}.rp-step-dot{width:7px;height:7px;margin:0 auto;border-radius:50%;background:var(--w33)}.rp-step.is-done{color:var(--faint)}.rp-step.is-done .rp-step-dot{background:var(--ok)}.rp-step.is-current{color:var(--text);background:var(--w0b)}.rp-step.is-current .rp-step-dot{background:var(--accent-strong);animation:pulse 1.2s ease-in-out infinite}.job-status{font-size:11px;color:var(--muted)}.job-status.is-running{color:var(--info)}.job-status.is-paused{color:var(--warn)}.job-status.is-done{color:var(--ok)}.job-status.is-error,.job-status.is-stopped{color:var(--danger)}.job-wait{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;border-radius:8px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);color:var(--text);font-size:12px;line-height:1.45}.job-wait b{font-weight:500;color:var(--warn)}.job-wait span{color:var(--soft)}.facts dd small.warn{color:var(--warn);font-size:11px}.deform-pills{display:inline-flex;flex-wrap:wrap;align-items:center;gap:5px}.deform-pill{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border-radius:999px;background:var(--field);border:1px solid var(--line-strong);color:var(--muted);font-size:11px;cursor:pointer;-webkit-user-select:none;user-select:none}.deform-pill:hover{color:var(--text);border-color:var(--w30)}.deform-pill input[type=checkbox]{width:12px;height:12px;margin:0;accent-color:var(--accent-control);cursor:pointer}.deform-pill:has(:checked){background:var(--accent-bg);border-color:var(--accent-strong);color:var(--text)}.deform-adv{display:flex;align-items:flex-start;gap:5px;margin:0}.deform-adv svg{flex-shrink:0;margin-top:2px}.sim-meta-split{justify-content:space-between;flex-wrap:wrap;gap:6px}.sim-deform-live{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;font-size:11px}.sim-deform-live.ok{color:var(--ok)}.sim-deform-live.warn{color:var(--warn)}.tab-anchor-list{display:flex;flex-direction:column;gap:5px}.tab-anchor-row{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,1fr) 26px;align-items:center;gap:6px}.tab-anchor-idx{color:var(--faint);font-size:11px;font-variant-numeric:tabular-nums}.tab-anchor-row input{width:100%;height:26px;padding:0 7px;border:1px solid var(--line-strong);border-radius:7px;background-color:var(--field);color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;outline:0}.tab-anchor-row input:focus{border-color:var(--accent)}.scene-tab-tag{font-variant-numeric:tabular-nums}.scene-tab-tag b{font-weight:650}.scene-tab-tag.optimal{color:var(--ok)}.scene-tab-tag.marginal{color:var(--warn)}.scene-tab-tag.weak{color:var(--danger)}.login{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;gap:12px;width:min(320px,calc(100vw - 32px));padding:24px 22px 22px}.login h1{margin:0 0 2px;font-family:var(--serif);font-size:22px;font-weight:400;letter-spacing:-.3px;color:var(--text)}.login-google{min-block-size:38px;justify-content:center;gap:8px;font-size:13px}.login-sep{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:11px}.login-sep:before,.login-sep:after{content:"";flex:1;height:1px;background:var(--line-strong)}.login-form{display:grid;gap:9px}.login-field{display:grid;gap:4px}.login-label{color:var(--muted);font-size:11.5px;line-height:1.2}.login input{min-block-size:36px;padding:0 10px;border-radius:8px;border:1px solid var(--line-strong);background:var(--field);color:var(--text);font:inherit;font-size:max(1rem,13px)}.login input:focus-visible{border-color:var(--accent-strong);outline:2px solid var(--accent);outline-offset:1px}.login .btn{justify-content:center}.login-submit{min-block-size:36px;border-color:var(--line-strong)}.login-link{min-block-size:26px;color:var(--muted);font-size:12px;text-align:left}.login-link:hover:not(:disabled){color:var(--text)}.login .hint{margin:0}@media(pointer:coarse){.login-google,.login input,.login-submit{min-block-size:44px}}.link-info{gap:7px;min-width:230px}.link-info>div{display:flex;justify-content:space-between;gap:18px;white-space:nowrap}.link-info span{color:var(--muted)}.link-info b{font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;max-width:260px;overflow:hidden;text-overflow:ellipsis}.link-info b.ok{color:var(--ok)}.link-info b.warn{color:var(--warn)}.link-info b.danger{color:var(--danger)}.sensor{position:absolute;z-index:60;top:calc(max(20px,env(safe-area-inset-top)) + 58px);right:max(20px,env(safe-area-inset-right));width:min(320px,calc(100vw - 40px));padding:5px;transition:right .3s var(--ease)}.sensor-video{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:8px;background:var(--night)}.sensor-video img,.sensor-video svg{position:absolute;inset:0;width:100%;height:100%;display:block}.sensor-video img{object-fit:fill;-webkit-user-select:none;user-select:none}.sensor-video svg{pointer-events:none;fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sensor-video svg *{vector-effect:non-scaling-stroke}.a-board{stroke:#d8b98a;stroke-width:1.2;stroke-dasharray:6 4;opacity:.85}.a-bolt{stroke:#7fc8a9;stroke-width:1.6}.a-bolt.is-lost{stroke:#e0b27a;stroke-dasharray:3 3}.a-stock{stroke:#7fc8a9;stroke-width:2;fill:#7fc8a922}.a-plan{stroke:#d2c6e2;stroke-width:1.4;stroke-dasharray:5 4}.a-zero{stroke:#ff6b6b;stroke-width:1.8}.sensor-toggles{position:absolute;top:6px;left:6px;right:6px;display:flex;gap:4px}.sensor-toggles button{height:20px;padding:0 8px;border-radius:999px;font-size:10.5px;font-weight:500;color:#ffffffb0;background:#0009;border:1px solid #ffffff22;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sensor-toggles button:hover{color:#fff}.sensor-toggles button.is-on{color:#fff;background:#000c;border-color:#fff6}.sensor-tag{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:6px;font-size:10.5px;font-weight:500;font-variant-numeric:tabular-nums;color:#fff;background:#000a}@media(max-width:720px){.sensor{display:none}}
