.ctl{--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--grid:#2c2c2a;--axis:#898781;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--card:var(--sl-color-gray-6);--well:var(--sl-color-black);--line:var(--sl-color-gray-5);--goal:#3987e5}:root[data-theme=light] .ctl{--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--grid:#e1e0d9;--card:var(--sl-color-black);--well:var(--sl-color-gray-7);--line:var(--sl-color-gray-5);--goal:#2a78d6}:root:has(#ctl){--sl-content-width:200rem}:root:has(#ctl) main>.content-panel:first-child{clip:rect(0 0 0 0);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:root:has(#ctl) main>.content-panel{border:0;padding:.75rem clamp(.75rem,1.5vw,1.25rem)}:root:has(#ctl) main>.content-panel .sl-container{max-width:none}:root:has(#ctl) main{padding-bottom:0}:root:has(#ctl) main .sl-container>footer{display:none}.ctl{flex-direction:column;gap:.6rem;display:flex}.ctl [hidden]{display:none!important}.ctl h2{letter-spacing:.01em;margin:0;font-size:.95rem}.ctl p{margin:0}.ctl .muted{color:var(--sl-color-gray-3)}.ctl .small{font-size:.8rem}.ctl .num{font-variant-numeric:tabular-nums}.ctl .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ctl .card{background:var(--card);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;gap:.5rem;min-width:0;min-height:0;padding:.6rem .75rem;display:flex}.ctl .card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;display:flex}.ctl .bar{background:var(--card);border:1px solid var(--line);border-radius:.6rem;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem .6rem;display:flex}.ctl[data-target=real] .bar{border-color:var(--good);box-shadow:inset 4px 0 0 var(--good)}.ctl .connect-form{flex:0 21rem;align-items:center;gap:.4rem;min-width:14rem;display:flex}.ctl input:not([type]),.ctl input[type=text]{min-width:0;font:inherit;border:1px solid var(--sl-color-gray-4);background:var(--well);color:var(--sl-color-white);border-radius:.45rem;flex:12rem;padding:.4rem .6rem}.ctl .status{flex-wrap:wrap;flex:auto;align-items:center;gap:.35rem .9rem;min-width:0;display:flex}.ctl .pill{white-space:nowrap;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.ctl .pill.quiet{font-weight:400}.ctl .pill.quiet:empty,.ctl .target:empty{display:none}.ctl .target{white-space:nowrap;border:2px solid;border-radius:999px;padding:.1rem .6rem;font-size:.9rem;font-weight:700}.ctl .target[data-target=real]{color:var(--good);border-color:var(--good)}.ctl .target[data-target=sim]{color:var(--sl-color-gray-2);border-color:var(--sl-color-gray-4);border-style:dashed}.ctl .dot{background:var(--axis);border-radius:50%;width:.65rem;height:.65rem}.ctl [data-status=connected] .dot{background:var(--good)}.ctl [data-status=connecting] .dot{background:var(--warning)}.ctl #robot-state[data-state="4"]{color:var(--critical);font-weight:600}.ctl .lease{border:1px solid var(--line);background:var(--well);border-radius:.5rem;align-items:center;gap:.5rem;padding:.2rem .25rem .2rem .75rem;display:flex}.ctl .control-text{max-width:14rem;font-size:.85rem;font-weight:600;line-height:1.25}.ctl[data-control=mine] .lease{border-color:var(--good);box-shadow:inset 4px 0 0 var(--good)}.ctl[data-control=other] .lease{border-color:var(--warning);box-shadow:inset 4px 0 0 var(--warning)}.ctl .safety{align-items:center;gap:.5rem;margin-inline-start:auto;display:flex}.ctl .btn.stop{letter-spacing:.02em;min-width:7.5rem;padding:.5rem 1.1rem;font-size:1.05rem}.ctl .btn.stop kbd{font:600 .7rem var(--sl-font-mono);vertical-align:.1rem;border:1px solid #fff9;border-radius:.25rem;margin-inline-start:.35rem;padding:.05rem .3rem}.ctl .hint{border-inline-start:4px solid var(--sl-color-accent);background:var(--card);border-radius:.5rem;padding:.45rem .75rem;font-size:.9rem}.ctl .hint[data-kind=warning]{border-color:var(--warning)}.ctl .btn{font:inherit;border:1px solid var(--sl-color-gray-4);background:var(--sl-color-gray-5);color:var(--sl-color-white);cursor:pointer;touch-action:none;user-select:none;white-space:nowrap;border-radius:.45rem;padding:.4rem .85rem;font-weight:600}:root[data-theme=light] .ctl .btn:not(.primary):not(.danger){background:var(--sl-color-gray-7,#f6f6f6)}.ctl .btn:hover:not(:disabled){border-color:var(--sl-color-accent)}.ctl .btn:focus-visible{outline:2px solid var(--sl-color-accent);outline-offset:2px}.ctl .btn:disabled{opacity:.4;cursor:not-allowed}.ctl .btn.primary{background:var(--sl-color-accent);border-color:var(--sl-color-accent);color:var(--sl-color-black)}.ctl .btn.danger{background:var(--critical);border-color:var(--critical);color:#fff}.ctl .btn.small-btn{padding:.2rem .6rem;font-size:.8rem}.ctl .btn-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ctl select{font:inherit;border:1px solid var(--sl-color-gray-4);background:var(--well);color:var(--sl-color-white);border-radius:.45rem;max-width:13rem;padding:.2rem .4rem;font-size:.8rem}.ctl input[type=range]{accent-color:var(--sl-color-accent)}.ctl .grid{grid-template:"camera arm joints"minmax(0,1.5fr)"plots plots plots"minmax(0,1fr)/minmax(0,1.05fr) minmax(0,1fr) minmax(0,1.55fr);gap:.6rem;display:grid}.ctl .grid:has(#camera-card[hidden]){grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr);grid-template-areas:"arm joints""plots plots"}.ctl .arm{grid-area:arm}.ctl .joints{grid-area:joints}.ctl .camera{grid-area:camera}.ctl .plots{grid-area:plots}@media (width>=75rem) and (height>=40rem){.ctl{height:calc(100dvh - var(--sl-nav-height,4rem) - 1.5rem)}.ctl .grid{flex:auto;min-height:0}}.ctl .arm-view{background:var(--well);touch-action:none;border-radius:.45rem;flex:auto;min-height:10rem;position:relative;overflow:hidden}.ctl .arm-view:not([data-loaded]):after{content:"Loading the 3D model…";color:var(--sl-color-gray-3);place-items:center;display:grid;position:absolute;inset:0}.ctl .arm-view[data-loaded=error]:after{content:"The 3D model did not load.";color:var(--sl-color-gray-3);place-items:center;display:grid;position:absolute;inset:0}.ctl .camera-view{background:#000;border-radius:.45rem;flex:auto;place-items:center;min-height:8rem;display:grid;position:relative;overflow:hidden}.ctl .camera[data-running=false] .camera-view:after{content:"Camera off";color:var(--sl-color-gray-3)}.ctl .camera-view img,.ctl .camera-view video{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ctl .strips{flex:auto;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem;min-height:0;display:grid}.ctl .strips:has(.gripper-strip:not([hidden])){grid-template-columns:repeat(7,minmax(0,1fr))}.ctl .strip[hidden]{display:none}.ctl .strip{background:var(--well);border:1px solid #0000;border-radius:.45rem;grid-template-rows:auto auto minmax(4rem,1fr) auto auto auto;justify-items:center;gap:.25rem;min-height:0;padding:.4rem .25rem .35rem;display:grid}.ctl .strip.servo-fault{border-color:var(--critical)}.ctl .strip.servo-fault .j-name:after{content:" ⚠";color:var(--critical)}.ctl .s-head{align-items:center;gap:.35rem;font-weight:700;display:flex}.ctl .key{background:var(--key);border-radius:2px;width:.9rem;height:.2rem;display:inline-block}.ctl .j-angle{font-size:clamp(.95rem,1.2vw,1.25rem);font-weight:600}.ctl .jogs{gap:.25rem;width:100%;max-width:6rem;display:flex}.ctl .jog{flex:1;min-width:0;height:1.9rem;padding:0;font-size:.85rem;line-height:1}.ctl .fader{width:100%;max-width:4.5rem;height:100%;min-height:0;position:relative}.ctl .f-track{background:var(--sl-color-gray-5);border-radius:.25rem;width:.5rem;margin-inline:auto;position:absolute;inset:.6rem 0}.ctl .f-zero{background:var(--axis);height:1px;position:absolute;top:50%;left:-.45rem;right:-.45rem}.ctl .f-fill{background:var(--key);opacity:.85;border-radius:.25rem;height:0;position:absolute;top:50%;left:0;right:0}.ctl .f-pos{background:var(--sl-color-white);height:3px;box-shadow:0 0 0 1px var(--well);border-radius:2px;margin-top:-1.5px;position:absolute;top:50%;left:-.6rem;right:-.6rem}.ctl .f-lim{color:var(--sl-color-gray-3);white-space:nowrap;font-size:.65rem;position:absolute;left:.85rem}.ctl .f-top{top:-.55rem}.ctl .f-bot{bottom:-.55rem}.ctl .goal-input{writing-mode:vertical-lr;-webkit-appearance:none;appearance:none;cursor:ns-resize;direction:rtl;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.ctl .goal-input:disabled{cursor:default}.ctl .goal-input::-webkit-slider-runnable-track{background:0 0}.ctl .goal-input::-moz-range-track{background:0 0}.ctl .goal-input::-webkit-slider-thumb{-webkit-appearance:none;background:color-mix(in srgb, var(--goal) 25%, transparent);border:2.5px solid var(--goal);width:1.6rem;height:.95rem;box-shadow:0 0 0 1px var(--well);border-radius:.3rem}.ctl .goal-input::-moz-range-thumb{background:color-mix(in srgb, var(--goal) 25%, transparent);border:2.5px solid var(--goal);width:1.6rem;height:.95rem;box-shadow:0 0 0 1px var(--well);border-radius:.3rem}.ctl .goal-input:disabled::-webkit-slider-thumb{border-color:var(--sl-color-gray-4)}.ctl .goal-input:disabled::-moz-range-thumb{border-color:var(--sl-color-gray-4)}.ctl .goal-input:focus-visible{outline:none}.ctl .goal-input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--sl-color-accent-low)}.ctl .goal-field{width:100%;max-width:5.2rem}.ctl .goal-num{width:100%;font:inherit;text-align:center;border:1px solid var(--goal);background:var(--card);color:var(--goal);-moz-appearance:textfield;border-radius:.35rem;padding:.15rem .2rem;font-size:.8rem;font-weight:600}.ctl .goal-num::-webkit-inner-spin-button,.ctl .goal-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ctl .goal-num[data-same]{color:var(--sl-color-gray-2);border-color:var(--sl-color-gray-4);font-weight:400}.ctl .goal-num:focus-visible{outline:2px solid var(--sl-color-accent);outline-offset:1px}.ctl .goal-num:disabled{opacity:.45}.ctl .joints .card-head{flex-wrap:nowrap;min-height:1.9rem}.ctl .joints .card-head>:not(h2){min-width:0;margin-inline-start:auto}.ctl .joints-hint{text-align:end;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ctl .watch-banner{background:var(--well);border:1px solid var(--line);border-inline-start:4px solid var(--axis);white-space:nowrap;border-radius:.45rem;align-items:center;gap:.75rem;padding:.15rem .2rem .15rem .65rem;font-size:.85rem;font-weight:600;display:flex}.ctl:not([data-control=mine]) .joints-hint,.ctl[data-live=on] .joints-hint{display:none}.ctl[data-control=other] .watch-banner{border-inline-start-color:var(--warning)}.ctl:not([data-control=mine]) .joints :is(.jogs,.goal-field,.joints-foot .field,.joints-foot .btn-row){opacity:.45}.ctl:not([data-control=mine]) .joints .joints-foot .btn:disabled,.ctl:not([data-control=mine]) .joints .jog:disabled{opacity:1}.ctl .live-banner{white-space:nowrap;background:color-mix(in srgb, var(--warning) 16%, var(--well));border-inline-start:4px solid var(--warning);border-radius:.45rem;padding:.2rem .65rem;font-size:.85rem;display:none}.ctl .live-banner kbd{font:600 .7rem var(--sl-font-mono);border:1px solid var(--sl-color-gray-3);border-radius:.25rem;padding:.05rem .3rem}.ctl[data-live=on] .live-banner{display:block!important}.ctl[data-live=on] .joints{border-color:var(--warning);box-shadow:inset 0 0 0 1px var(--warning)}.ctl .live-switch{border:1px solid var(--sl-color-gray-4);cursor:pointer;border-radius:.4rem;align-items:center;gap:.3rem;padding:.15rem .5rem;font-weight:700;display:inline-flex}.ctl .live-switch input{accent-color:var(--warning);margin:0}.ctl[data-live=on] .live-switch{border-color:var(--warning);color:var(--warning)}.ctl .live-switch:has(input:disabled){cursor:not-allowed}.ctl .j-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.1rem .5rem;font-size:.7rem;display:flex}.ctl .j-meta>*{white-space:nowrap}.ctl .joints-foot{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem .9rem;display:grid}.ctl .joints-foot .btn{padding:.35rem .7rem;font-size:.85rem}.ctl .field{white-space:nowrap;align-items:center;gap:.5rem;min-width:0;font-size:.85rem;display:flex}.ctl .field input[type=range]{flex:auto;min-width:4rem}.ctl .field output{text-align:end;min-width:3.2rem}.ctl .plots{padding:.5rem .6rem}.ctl .plot-grid{flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:.4rem .9rem;min-height:0;display:grid}.ctl .plot{flex-direction:column;min-width:0;min-height:0;margin:0;display:flex}.ctl .plot figcaption{flex-wrap:wrap;align-items:baseline;gap:0 .75rem;font-size:.75rem;line-height:1.3;display:flex}.ctl .p-title{font-size:.8rem;font-weight:700}.ctl .p-legend{color:var(--sl-color-gray-2);flex-wrap:wrap;gap:0 .6rem;display:flex}.ctl .p-legend span{white-space:nowrap}.ctl .p-legend i{vertical-align:.2rem;border-radius:1px;width:.7rem;height:2px;margin-inline-end:.25rem;display:inline-block}.ctl .p-legend b{color:var(--sl-color-white);font-weight:600}.ctl .p-area{flex:auto;min-height:3rem;position:relative}.ctl .p-area>.uplot{position:absolute;inset:0}.ctl .foot{white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;gap:.25rem 1.5rem;font-size:.75rem;display:flex}.ctl .foot-left{flex:auto;gap:1rem;min-width:0;display:flex}.ctl .foot-left #fw,.ctl .foot-note{flex:none}.ctl .foot-left #fw:empty{display:none}.ctl .log{font-family:var(--sl-font-mono);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ctl .toasts{inset-inline-end:1rem;z-index:10;gap:.5rem;display:grid;position:fixed;bottom:1rem}.ctl .toast{background:var(--card);border:1px solid var(--sl-color-gray-4);border-inline-start:4px solid var(--sl-color-accent);box-shadow:var(--sl-shadow-md);border-radius:.5rem;max-width:22rem;padding:.6rem .9rem}.ctl .toast[data-kind=warning]{border-inline-start-color:var(--warning)}.ctl .u-cursor-pt{border-color:var(--series-1)!important}@media (width<=74.99rem),(height<=39.99rem){.ctl .grid{grid-template:"joints joints""camera arm""plots plots"/minmax(0,1fr) minmax(0,1fr)}.ctl .grid:has(#camera-card[hidden]){grid-template-areas:"joints joints""arm arm""plots plots"}.ctl .arm-view,.ctl .strips{flex:none;height:22rem}.ctl .plot-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:12rem}.ctl .camera-view{aspect-ratio:4/3;flex:none}}@media (width<=40rem){.ctl .grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"joints""arm""camera""plots"}.ctl .grid:has(#camera-card[hidden]){grid-template-areas:"joints""arm""plots"}.ctl .strips,.ctl .strips:has(.gripper-strip:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr));height:auto}.ctl .strip{height:17rem}.ctl .plot-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:11rem}.ctl .joints-foot{grid-template-columns:minmax(0,1fr)}.ctl .lease{flex:100%}.ctl .safety{flex:100%;justify-content:stretch}.ctl .safety .btn{flex:1}}
