.glc,.glc-popover{--glc-ink:#1d1d1f;--glc-muted:#6e6e73;--glc-line:#11224a21;--glc-surface:#fff;--glc-accent:#06c;--glc-accent-line:#0066cc4d;--glc-accent-wash:#f2f7fd;--glc-live:#23a55a;--glc-away:#a1a1a6;--glc-ease:var(--ease-standard,cubic-bezier(.22, 1, .36, 1));--glc-spring:var(--ease-spring,cubic-bezier(.34, 1.56, .64, 1));font-family:var(--font-text,-apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "PingFang SC", system-ui, sans-serif);letter-spacing:0;text-transform:none;font-style:normal}.glc{--glc-height:32px;--glc-ring:var(--glc-surface);flex:none;align-items:center;gap:8px;line-height:1;display:inline-flex}.glc .glc-return{box-sizing:border-box;height:var(--glc-height);border:1px solid var(--glc-line);background:var(--glc-surface);min-height:0;color:var(--glc-ink);letter-spacing:-.01em;opacity:1;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background-color .16s var(--glc-ease), border-color .16s var(--glc-ease), color .16s var(--glc-ease), transform .16s var(--glc-ease);border-radius:999px;align-items:center;gap:6px;margin:0;padding:0 12px 0 7px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.glc .glc-return:hover{border-color:var(--glc-accent-line);background:var(--glc-accent-wash);color:var(--glc-accent);transform:none}.glc .glc-return:active{transform:scale(.97)}.glc .glc-return:focus-visible,.glc .glc-presence:focus-visible{outline:2px solid var(--glc-accent);outline-offset:2px}.glc .glc-return-chevron{width:12px;height:12px;color:var(--glc-muted);transition:transform .32s var(--glc-spring), color .16s var(--glc-ease);flex:none;margin-right:-1px}.glc .glc-return:hover .glc-return-chevron{color:var(--glc-accent);transform:translate(-2px)}.glc .glc-mark{border-radius:5px;flex:none;display:block;box-shadow:0 1px 2px #0a183833}.glc .glc-return.is-compact{padding:0 8px 0 6px}.glc .glc-return.is-compact .glc-return-text{display:none}.glc .glc-presence{box-sizing:border-box;height:var(--glc-height);min-height:0;min-width:var(--glc-height);box-shadow:none;color:var(--glc-muted);font:inherit;opacity:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .16s var(--glc-ease), opacity .2s var(--glc-ease);animation:glc-fade-in .3s var(--glc-ease) both;background:0 0;border:0;border-radius:999px;align-items:center;margin:0;padding:0 3px;display:inline-flex;position:relative}.glc .glc-presence:not(.is-alone):hover,.glc .glc-presence:not(.is-alone)[aria-expanded=true]{background:#11224a0f}.glc .glc-presence.is-alone{padding:0}.glc .glc-presence.is-reconnecting{opacity:.5}.glc .glc-alone{box-sizing:border-box;width:var(--glc-height);height:var(--glc-height);border:1px solid var(--glc-line);background:var(--glc-surface);color:var(--glc-muted);transition:border-color .16s var(--glc-ease), color .16s var(--glc-ease), background-color .16s var(--glc-ease);border-radius:999px;place-items:center;display:grid;position:relative}.glc .glc-alone svg{width:17px;height:17px}.glc .glc-alone .glc-live-dot{width:9px;height:9px;box-shadow:0 0 0 2px var(--glc-surface);position:absolute;bottom:1px;right:1px}.glc .glc-presence:hover .glc-alone,.glc .glc-presence[aria-expanded=true] .glc-alone{border-color:var(--glc-accent-line);background:var(--glc-accent-wash);color:var(--glc-accent)}.glc .glc-stack{transition:gap .32s var(--glc-ease);align-items:center;gap:3px;display:inline-flex}.glc .glc-presence:hover .glc-stack,.glc .glc-presence[aria-expanded=true] .glc-stack{gap:5px}.glc .glc-stack .glc-avatar{box-shadow:0 0 0 2px var(--glc-ring);animation:glc-pop .46s var(--glc-spring) both}.glc .glc-stack .glc-avatar.is-leaving{animation:glc-leave .26s var(--glc-ease) both}.glc .glc-stack .glc-avatar.is-arriving{animation:glc-pop .46s var(--glc-spring) both, glc-arrive 1.6s var(--glc-ease) .12s both}.glc .glc-overflow{box-sizing:border-box;width:28px;height:28px;box-shadow:0 0 0 2px var(--glc-ring);color:#3a3a3c;letter-spacing:-.02em;background:#eceff4;border-radius:50%;place-items:center;font-size:11px;font-weight:650;display:inline-grid;position:relative}.glc .glc-avatar,.glc-popover .glc-avatar{width:var(--glc-avatar-size,28px);height:var(--glc-avatar-size,28px);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative}.glc .glc-avatar-face,.glc-popover .glc-avatar-face{background:linear-gradient(145deg, color-mix(in srgb, var(--glc-avatar) 74%, #fff), var(--glc-avatar) 64%);color:#fff;width:100%;height:100%;font-size:calc(var(--glc-avatar-size,28px) * .42);letter-spacing:.01em;-webkit-user-select:none;user-select:none;transition:filter .3s var(--glc-ease), opacity .3s var(--glc-ease);border-radius:50%;place-items:center;font-weight:650;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #ffffff29}.glc .glc-avatar-face.is-pair,.glc-popover .glc-avatar-face.is-pair{font-size:calc(var(--glc-avatar-size,28px) * .36);letter-spacing:-.02em}.glc .glc-avatar.is-away .glc-avatar-face,.glc-popover .glc-avatar.is-away .glc-avatar-face{filter:grayscale(.9);opacity:.5}.glc-popover .glc-avatar-status{background:var(--glc-live);width:10px;height:10px;box-shadow:0 0 0 2px var(--glc-surface);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.glc-popover .glc-avatar.is-away .glc-avatar-status{background:var(--glc-away)}.glc-popover .glc-member.is-self .glc-avatar-status:after{background:inherit;content:"";border-radius:50%;animation:3.6s ease-in-out infinite glc-breathe;position:absolute;inset:0}.glc [data-tip]:after{z-index:60;color:#fff;content:attr(data-tip);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);letter-spacing:0;opacity:0;pointer-events:none;transition:opacity .12s var(--glc-ease), transform .12s var(--glc-ease);white-space:nowrap;background:#1d1d1fd1;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:500;line-height:1.2;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-3px);box-shadow:0 6px 18px #0a183833}.glc [data-tip]:hover:after{opacity:1;transition-delay:.4s;transform:translate(-50%)}.glc .glc-return[data-tip]:after{left:auto;right:0;transform:translateY(-3px)}.glc .glc-return[data-tip]:hover:after{transform:none}.glc .glc-presence[aria-expanded=true] [data-tip]:after,.glc .glc-presence[aria-expanded=true][data-tip]:after{display:none}@media (hover:none){.glc [data-tip]:after{display:none}}.glc-popover{z-index:2147483000;box-sizing:border-box;max-height:min(72vh,540px);color:var(--glc-ink);text-align:left;-webkit-backdrop-filter:saturate(180%)blur(22px);backdrop-filter:saturate(180%)blur(22px);transform-origin:100% 0;background:#fffffff7;border:1px solid #11224a1a;border-radius:16px;flex-direction:column;margin:0;line-height:1.4;animation:.34s cubic-bezier(.32,.72,0,1) both glc-popover-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 6px 16px #0a18381a,0 22px 56px #0a18382e}.glc-popover:focus{outline:none}.glc-popover .glc-popover-head{border-bottom:1px solid #11224a12;padding:15px 16px 12px}.glc-popover .glc-popover-head h2{color:var(--glc-ink);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:650;line-height:1.3}.glc-popover .glc-popover-head p{color:var(--glc-muted);font-variant-numeric:tabular-nums;align-items:center;gap:7px;margin:4px 0 0;font-size:12px;line-height:1.3;display:flex}.glc-popover .glc-popover-body{overscroll-behavior:contain;padding:6px 6px 8px;overflow-y:auto}.glc-popover .glc-section+.glc-section{margin-top:4px}.glc-popover .glc-section h3{color:var(--glc-muted);margin:8px 10px 3px;font-size:12px;font-weight:600;line-height:1.3}.glc-popover .glc-members{margin:0;padding:0;list-style:none}.glc-popover .glc-members.is-self{border-top:1px solid #11224a12;margin-top:6px;padding-top:6px}.glc-popover .glc-popover-body>.glc-members.is-self:first-child{border-top:0;margin-top:0;padding-top:0}.glc-popover .glc-member{animation:glc-row-in .32s var(--glc-ease) both;animation-delay:calc(var(--glc-i,0) * 28ms + 40ms);border-radius:10px;align-items:center;gap:11px;margin:0;padding:7px 10px;display:flex}.glc-popover .glc-member:hover{background:#11224a0a}.glc-popover .glc-member-text{flex:1;min-width:0}.glc-popover .glc-member-name{color:var(--glc-ink);align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600;line-height:1.3;display:flex}.glc-popover .glc-member-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.glc-popover .glc-member-name em{color:var(--glc-accent);background:#0066cc1a;border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-style:normal;font-weight:650}.glc-popover .glc-member-meta{color:var(--glc-muted);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12px;line-height:1.35;overflow:hidden}.glc-popover .glc-member-meta:empty{display:none}.glc-popover .glc-member.is-away .glc-member-name{color:var(--glc-muted)}.glc .glc-live-dot,.glc-popover .glc-live-dot{background:var(--glc-live);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block;position:relative}.glc .glc-live-dot:after,.glc-popover .glc-live-dot:after{background:inherit;content:"";border-radius:50%;animation:3.6s ease-in-out infinite glc-breathe;position:absolute;inset:0}.glc-popover .glc-live-dot.is-paused{background:var(--glc-away)}.glc-popover .glc-live-dot.is-paused:after{animation:none}@keyframes glc-fade-in{0%{opacity:0}}@keyframes glc-pop{0%{opacity:0;transform:scale(.4)}}@keyframes glc-leave{to{opacity:0;transform:scale(.4)}}@keyframes glc-breathe{0%,to{opacity:0;transform:scale(1)}50%{opacity:.34;transform:scale(2.3)}}@keyframes glc-arrive{0%{box-shadow:0 0 0 2px var(--glc-ring), 0 0 0 2px #23a55a8c}to{box-shadow:0 0 0 2px var(--glc-ring), 0 0 0 11px #23a55a00}}@keyframes glc-popover-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}}@keyframes glc-row-in{0%{opacity:0;transform:translateY(4px)}}@media (width<=560px){.glc{gap:6px}.glc .glc-return{padding:0 8px 0 6px}.glc .glc-return-text{display:none}}@media (prefers-reduced-motion:reduce){.glc *,.glc :after,.glc-popover,.glc-popover *,.glc-popover :after{transition:none!important;animation:none!important}}*{box-sizing:border-box}:root{color:#1d1d1f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.goatmech-page{--goatmech-paper:#f5f7fb;--goatmech-panel:#fff;--goatmech-panel-2:#eef4fb;--goatmech-ink:#1d1d1f;--goatmech-ink-2:#4d5663;--goatmech-muted:#636b78;--goatmech-rule:#1d1d1f2e;--goatmech-rule-soft:#1d1d1f1a;--goatmech-blue:#06c;--goatmech-blue-soft:#0066cc1c;--goatmech-red:#b42318;--goatmech-red-bright:#d92d20;--goatmech-red-soft:#b423181f;--goatmech-green:#1f7a3f;--goatmech-gold:#936b00;width:min(100%,1480px);min-height:100vh;color:var(--goatmech-ink);margin:0 auto;padding:22px 24px 64px}body{background:radial-gradient(circle at 18% 8%,#0066cc1f,#0000 30%),linear-gradient(#fff 0%,#f5f7fb 44%,#eef2f7 100%);min-width:320px;margin:0}.goatmech-lab{gap:42px;width:min(100%,1328px);margin:0 auto;padding:34px 0 24px;display:grid}.goatmech-goatlab-chrome{justify-self:start}.goatmech-lab-hero{gap:12px;max-width:760px;margin:6px 0;display:grid}.goatmech-hero-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.goatmech-lab-hero p,.servo-toolbar,.servo-readouts,.servo-loop-diagram,.pid-status,.setpoint-label,.time-label,.pid-slider,.dof-toolbar,.dof-joint-control,.dof-mini-controls,.dof-body-copy{font-family:inherit}.goatmech-lab-hero p{color:var(--goatmech-blue);text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.goatmech-lab-hero h1{color:var(--goatmech-ink);letter-spacing:0;margin:0;font-size:clamp(46px,6vw,76px);font-weight:850;line-height:1}.goatmech-lab-hero span{max-width:700px;color:var(--goatmech-ink-2);font-size:clamp(17px,2vw,22px);line-height:1.45}.language-toggle{border:1px solid var(--goatmech-rule-soft);background:#fffc;border-radius:8px;grid-template-columns:repeat(2,minmax(52px,1fr));display:inline-grid;overflow:hidden}.language-toggle button{border:0;border-left:1px solid var(--goatmech-rule-soft);min-height:34px;color:var(--goatmech-muted);cursor:pointer;background:0 0;padding:0 12px;font-size:12px;font-weight:800}.language-toggle button:first-child{border-left:0}.language-toggle button.active{background:var(--goatmech-ink);color:var(--goatmech-paper)}.language-toggle button:focus-visible{outline:2px solid var(--goatmech-blue);outline-offset:-2px}.goatmech-lab-stack{gap:54px;display:grid}.goatmech-figure{border-bottom:1px solid var(--goatmech-rule);gap:18px;min-width:0;margin:0;padding-bottom:22px;display:grid}.goatmech-figure-rule{background:var(--goatmech-rule);height:1px}.goatmech-figure-label{color:var(--goatmech-blue);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.goatmech-figure-label span{color:inherit}.goatmech-figure-label span:nth-child(2){color:var(--goatmech-muted)}.goatmech-stage{min-width:0}.goatmech-canvas{touch-action:pan-y;background:0 0;width:100%;height:auto;display:block;overflow:visible}.goatmech-canvas *{vector-effect:non-scaling-stroke}.goatmech-canvas:focus-visible,.servo-toolbar button:focus-visible,.segmented-control button:focus-visible,.dof-mini-controls button:focus-visible,.pid-slider input:focus-visible,.dof-joint-control input:focus-visible{outline:2px solid var(--goatmech-blue);outline-offset:4px}.segmented-control button:focus-visible{outline-offset:-2px}.goatmech-canvas-interactive{cursor:crosshair;touch-action:none}.goatmech-figure figcaption{max-width:1240px;color:var(--goatmech-ink-2);margin:0;font-size:18px;line-height:1.6}.goatmech-figure figcaption b{color:var(--goatmech-ink);font-weight:700}.goatmech-caption-tag{color:var(--goatmech-blue);text-transform:uppercase;margin-right:12px;font-size:12px;font-weight:700}.paper-floor{fill:none;stroke:var(--goatmech-rule);stroke-width:1.6px}.paper-hatch{stroke:var(--goatmech-rule-soft);stroke-width:1px}.callout{fill:none;stroke-width:1.2px}.callout-movement{stroke:#0066ccb8}.callout-sensor{stroke:#3a6b2ab8}.callout-body{stroke:#a07b1cb8}.label-title{font-size:14px;font-weight:700}.label-note{fill:var(--goatmech-muted);font-size:13px}.label-title-red{fill:var(--goatmech-blue)}.label-title-green{fill:var(--goatmech-green)}.label-title-gold{fill:var(--goatmech-gold)}.arm-base-shadow{fill:var(--goatmech-ink)}.arm-base-block{fill:var(--goatmech-panel);stroke:var(--goatmech-ink);stroke-width:1.6px}.robot-link{stroke:var(--goatmech-ink);stroke-linecap:round}.robot-link-shoulder{stroke-width:12px}.robot-link-forearm{stroke-width:10px}.error-line{stroke:var(--goatmech-red-bright);stroke-dasharray:6 6;stroke-linecap:round;stroke-width:2px}.robot-gripper line{stroke:var(--goatmech-ink);stroke-linecap:round;stroke-width:4px}.joint-ring{fill:var(--goatmech-paper);stroke:var(--goatmech-blue);stroke-width:4px}.joint-base{stroke-width:5px}.joint-dot{fill:var(--goatmech-paper);stroke-width:3px}.joint-body-sensor{stroke:var(--goatmech-gold)}.joint-green{stroke:var(--goatmech-green)}.target-ring{fill:none;stroke:var(--goatmech-muted);stroke-dasharray:3 4;stroke-width:1.4px}.target-cross{stroke:var(--goatmech-muted);stroke-linecap:round;stroke-width:1px}.tracking-callouts,.servo-html-readouts,.pid-status-panel{color:var(--goatmech-muted);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px;font-size:12px;display:grid}.tracking-callouts span,.servo-html-readouts span,.pid-status-panel span{border:1px solid var(--goatmech-rule-soft);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;background:#ffffff9e;border-radius:6px;min-width:0;padding:10px 12px}.tracking-callouts b,.servo-html-readouts b,.pid-status-panel b{color:var(--goatmech-ink);text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.servo-html-readouts{grid-template-columns:repeat(3,minmax(0,1fr))}.servo-html-readouts .is-good{color:var(--goatmech-green)}.servo-html-readouts .is-error{color:var(--goatmech-red-bright)}.servo-toolbar{width:fit-content;color:var(--goatmech-muted);text-transform:uppercase;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;display:grid}.servo-toolbar button,.segmented-control button,.dof-mini-controls button{border:1px solid var(--goatmech-rule);background:var(--goatmech-panel);color:var(--goatmech-ink-2);cursor:pointer;font:inherit;text-transform:uppercase;border-radius:4px;transition:background .15s,border-color .15s,color .15s}.servo-toolbar button{width:fit-content;min-height:46px;padding:0 24px;font-size:15px;font-weight:800}.servo-toolbar button:hover,.dof-mini-controls button:hover{border-color:var(--goatmech-red);color:var(--goatmech-red)}.dial-ticks line{stroke:var(--goatmech-rule);stroke-linecap:round;stroke-width:1px}.dial-face{fill:none;stroke:var(--goatmech-rule);stroke-width:1.6px}.servo-error-wedge{fill:var(--goatmech-red-soft)}.servo-target{stroke:var(--goatmech-muted);stroke-dasharray:4 5;stroke-linecap:round;stroke-width:2.5px}.servo-actual{stroke:var(--goatmech-blue);stroke-linecap:round;stroke-width:5px}.servo-hub{fill:var(--goatmech-ink)}.servo-handle{fill:var(--goatmech-paper);stroke:var(--goatmech-red);stroke-width:3px}.servo-readouts{fill:var(--goatmech-muted);font-size:10px;font-weight:750}.servo-number{fill:var(--goatmech-blue);font-size:18px;font-weight:650}.servo-muted{fill:var(--goatmech-muted)}.servo-green{fill:var(--goatmech-green)}.servo-red{fill:var(--goatmech-red-bright)}.servo-loop-diagram rect{fill:var(--goatmech-panel);stroke:var(--goatmech-rule);stroke-width:1.2px}.servo-loop-diagram text{fill:var(--goatmech-ink-2);text-anchor:middle;font-size:11px;font-weight:750}.servo-loop-diagram path{fill:none;stroke:var(--goatmech-rule);stroke-width:1.6px}.servo-loop-diagram .servo-sensor-label{fill:var(--goatmech-muted);text-anchor:start;font-size:10px}#servo-arrow path{fill:var(--goatmech-muted)}.plot-axis,.plot-floor{stroke:var(--goatmech-rule);stroke-width:1.2px}.plot-floor{stroke:var(--goatmech-rule-soft)}.setpoint-line{stroke:var(--goatmech-rule);stroke-dasharray:6 7;stroke-width:1.2px}.pid-area{fill:var(--goatmech-blue-soft)}.pid-line{fill:none;stroke:var(--goatmech-blue);stroke-linejoin:round;stroke-width:2.8px}.pid-endpoint{fill:var(--goatmech-blue)}.pid-status,.setpoint-label,.time-label{fill:var(--goatmech-muted);font-size:12px}.setpoint-label{text-anchor:end}.time-label{text-anchor:middle}.pid-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:12px;display:grid}.pid-status-panel{grid-template-columns:.7fr .7fr 1.6fr}.pid-slider{gap:14px;min-width:0;display:grid}.pid-slider-head{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.pid-term{color:var(--goatmech-blue);text-transform:uppercase;font-size:16px;font-weight:700}.pid-value{color:var(--goatmech-ink);font-variant-numeric:tabular-nums;font-size:18px}.pid-slider input,.dof-joint-control input{appearance:none;background:var(--goatmech-rule);cursor:pointer;border-radius:4px;width:100%;height:4px}.pid-slider input::-webkit-slider-thumb{appearance:none;border:3px solid var(--goatmech-paper);background:var(--goatmech-blue);width:19px;height:19px;box-shadow:0 0 0 2px var(--goatmech-blue);border-radius:50%}.dof-joint-control input::-webkit-slider-thumb{appearance:none;border:3px solid var(--goatmech-paper);background:var(--goatmech-blue);width:19px;height:19px;box-shadow:0 0 0 2px var(--goatmech-blue);border-radius:50%}.pid-slider input::-moz-range-thumb{border:3px solid var(--goatmech-paper);background:var(--goatmech-blue);width:15px;height:15px;box-shadow:0 0 0 2px var(--goatmech-blue);border-radius:50%}.dof-joint-control input::-moz-range-thumb{border:3px solid var(--goatmech-paper);background:var(--goatmech-blue);width:15px;height:15px;box-shadow:0 0 0 2px var(--goatmech-blue);border-radius:50%}.dof-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.segmented-control{border:1px solid var(--goatmech-rule);background:var(--goatmech-panel);border-radius:5px;display:inline-flex;overflow:hidden}.segmented-control button{background:0 0;border:0;border-radius:0;min-height:44px;padding:0 24px;font-size:15px;font-weight:700;transition:none}.segmented-control button+button{border-left:1px solid var(--goatmech-rule)}.segmented-control button.active,.dof-mini-controls button.active{background:var(--goatmech-ink);color:var(--goatmech-paper)}.segmented-control button:not(.active){color:var(--goatmech-ink-2);background:0 0}.dof-count{color:var(--goatmech-muted);text-transform:uppercase;align-items:baseline;gap:12px;font-size:16px;display:inline-flex}.dof-count strong{color:var(--goatmech-blue);font-size:28px;font-weight:500}.dof-envelope path{fill:none;stroke:#0066cc24;stroke-dasharray:4 7;stroke-width:1.2px}.dof-arm-link{fill:none;stroke:var(--goatmech-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:10px}.dof-joint-ring{fill:var(--goatmech-paper);stroke:var(--goatmech-blue);stroke-width:4px}.dof-tip{fill:var(--goatmech-blue)}.dof-joint-control{width:min(100%,650px);color:var(--goatmech-ink-2);text-transform:uppercase;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:20px;margin:-16px auto 0;font-size:16px;font-weight:700;display:grid}.dof-joint-control strong{color:var(--goatmech-blue);font-size:18px;font-weight:500}.free-cube-face{fill:#ffffffd1;stroke:var(--goatmech-ink);stroke-linejoin:round;stroke-width:1.6px}.free-cube-face-y{fill:#0066cc17}.free-cube-face-back,.free-cube-face-top{fill:#0066cc0e}.free-cube-face-bottom{fill:#1d1d1f0a}.free-cube-edge{fill:none;stroke:var(--goatmech-ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.free-body-axis line{stroke-linecap:round;stroke-width:2.6px}.axis-x{stroke:var(--goatmech-red)}.axis-y{stroke:var(--goatmech-gold)}.axis-z{stroke:var(--goatmech-green)}.free-body-axis text,.dof-body-copy{fill:var(--goatmech-muted);text-transform:uppercase;font-size:13px}.dof-body-copy{fill:var(--goatmech-blue);font-size:15px}.dof-body-copy-small{fill:var(--goatmech-muted);font-size:12px}.dof-mini-controls{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:-16px;display:flex}.dof-mini-controls button{min-height:34px;padding:0 12px;font-size:11px}.goatmech-credit{max-width:860px;color:var(--goatmech-muted);margin:-12px 0 0;font-size:13px;line-height:1.55}.goatmech-credit a{color:var(--goatmech-blue);text-underline-offset:3px;font-weight:800;-webkit-text-decoration:underline #0066cc3d;text-decoration:underline #0066cc3d}@media (width<=980px){.goatmech-lab{gap:32px}.goatmech-figure figcaption{font-size:17px}.pid-controls{grid-template-columns:1fr}.tracking-callouts,.servo-html-readouts,.pid-status-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.goatmech-page{padding-left:18px;padding-right:18px}.goatmech-hero-meta{flex-direction:column;align-items:flex-start}.language-toggle{width:100%;max-width:220px}.goatmech-figure-label{font-size:12px}.goatmech-figure figcaption{font-size:18px}.figure-side-label,.servo-readouts{display:none}.tracking-callouts,.servo-html-readouts,.pid-status-panel{grid-template-columns:1fr}.servo-toolbar{width:100%;font-size:13px}.servo-toolbar button{width:100%}.dof-toolbar,.dof-joint-control{flex-direction:column;align-items:stretch}.dof-toolbar{display:grid}.segmented-control{grid-template-columns:1fr 1fr;width:100%;display:grid}.dof-joint-control{grid-template-columns:1fr;gap:12px;display:grid}}@media (prefers-reduced-motion:reduce){.servo-toolbar button,.segmented-control button,.dof-mini-controls button{transition:none}}
