.robotics-tool-page .frame { width: min(100% - 2rem, 76rem); }
.tool-page { padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 9vw, 8rem); }
.tool-page-heading { margin-bottom: 1.4rem; }
.tool-page-heading .eyebrow { margin: 0 0 0.45rem; }
.tool-page-heading h1 { margin: 0; font-size: clamp(2.8rem, 6.5vw, 5.4rem); font-weight: 450; letter-spacing: -0.055em; line-height: 0.98; }
.tool-status { margin: 0.65rem 0 1rem; color: var(--muted); font: var(--label)/1.5 var(--mono); }
.tool-status[data-state="ready"] { color: var(--classify); }
.tool-status[data-state="error"] { color: var(--action); }
.arm-viewport { position: relative; overflow: hidden; background: var(--paper-deep); border: 0; touch-action: none; }
.arm-viewport { min-height: min(62vw, 540px); }
.arm-viewport:focus-visible { outline: 2px solid var(--action); outline-offset: 4px; }
.arm-viewport canvas { display: block; }
.viewer-loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font: var(--label)/1.5 var(--mono); }
.viewer-readout { position: absolute; left: 0.75rem; bottom: 0.65rem; color: var(--muted); font: var(--label)/1.5 var(--mono); pointer-events: none; }
.arm-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; margin-top: 0.85rem; color: var(--muted); font: var(--label)/1.55 var(--mono); }
.arm-controls p { margin: 0; }
.arm-controls strong { color: var(--ink); }
kbd { padding: 0.08rem 0.28rem; border: 1px solid var(--rule-strong); background: var(--paper-deep); color: var(--ink); font: inherit; }
.noscript { margin: 1rem; padding: 1rem; border: 1px solid var(--action); }
@media (max-width: 520px) {
  .arm-viewport { min-height: 360px; }
}
