/* This stylesheet is deliberately scoped to the robot lab. */
#robot-lab{background:linear-gradient(#81afe609 1px,transparent 1px),linear-gradient(90deg,#81afe609 1px,transparent 1px),#edf4fc;background-size:36px 36px;padding-block:64px 76px}
#robot-lab .lab-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:35px}
#robot-lab #lab-title{font-size:58px;line-height:1.08;margin-top:15px;letter-spacing:-2.5px}#robot-lab #lab-title em{font-family:var(--font);font-style:normal;color:#087acb;font-weight:600}
#robot-lab .lab-heading-copy{max-width:450px}#robot-lab .lab-heading-copy>p{font-size:16px;line-height:1.85;margin:13px 0 0}#robot-lab .lab-ai-label{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #bed8f1;background:#fff;border-radius:7px;font-size:13px;color:#2b5c86}#robot-lab .lab-ai-label svg{height:16px;width:16px}#robot-lab .eyebrow{font-size:12px;color:#39759f;letter-spacing:1px}
#robot-lab .lab-workspace{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);border:1px solid #c7d9eb;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 12px 35px #1034610b}
#robot-lab .lab-visual-column{min-width:0;background:#091d3b;color:#e8f4ff;display:flex;flex-direction:column}#robot-lab .lab-scene-header{padding:22px 25px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}#robot-lab .lab-scene-header>span{display:flex;align-items:center;gap:8px;color:#a7c9e6}#robot-lab .lab-scene-header>span>i{width:7px;height:7px;border-radius:50%;background:#63c9ff;box-shadow:0 0 0 4px #63c9ff12}#robot-lab .lab-scene-header>span:last-child{font:11px monospace;letter-spacing:1px;color:#719fc7}
#robot-lab .lab-track{position:relative;padding:0;margin:0;flex:1;display:flex;flex-direction:column;justify-content:center}#robot-lab .lab-track>svg{display:block;width:100%;height:auto;overflow:visible}#robot-lab .lab-track svg text{font:16px var(--font);fill:#b2d5f0}#robot-lab #lab-measure-label{font-size:21px;fill:#8be2ff;font-weight:600}#robot-lab #lab-rover{filter:drop-shadow(0 5px 6px #0005)}#robot-lab .lab-rover-light{fill:#67ddff}#robot-lab[data-decision=stop] .lab-rover-light{fill:#ffc477}#robot-lab #lab-zone{fill:#ffc477;opacity:.13}#robot-lab #lab-sonar{stroke:#66d9ff;stroke-width:4;stroke-dasharray:8 7}#robot-lab[data-decision=stop] #lab-sonar{stroke:#ffc477}
#robot-lab .lab-track-legend{display:flex;gap:25px;justify-content:center;align-items:center;font-size:12px;color:#afc9e1;padding:0 20px 19px;flex-wrap:wrap}#robot-lab .lab-track-legend>span{display:flex;align-items:center;gap:8px}#robot-lab .lab-track-legend i{height:3px;width:20px;background:#70dbfa}#robot-lab .lab-track-legend>span:last-child i{height:10px;width:14px;background:#ffc477;border-radius:2px}
#robot-lab .lab-telemetry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#2a4664;border-top:1px solid #2a4664;border-bottom:1px solid #2a4664}#robot-lab .lab-telemetry>div{background:#102b4b;padding:19px 22px;min-width:0}#robot-lab .lab-telemetry span{display:block;font-size:12px;color:#aac6df;margin-bottom:6px}#robot-lab .lab-telemetry strong{font-size:25px;color:#e6f7ff;line-height:1.2;font-weight:600;letter-spacing:-.7px}#robot-lab #lab-decision{color:#8ae1ff;font-size:22px}#robot-lab[data-decision=stop] #lab-decision{color:#ffc477}
#robot-lab .lab-runbar{display:flex;gap:22px;align-items:center;justify-content:space-between;padding:22px 25px}#robot-lab #run-lab{min-width:143px;background:#36b5fa;color:#061d35;border-radius:8px;font-size:15px;min-height:47px;padding:11px 22px;font-weight:700}#robot-lab #run-lab:hover{background:#7ad4ff}#robot-lab .robot-state{position:static;inset:auto;text-align:left;font:13px/1.6 var(--font);color:#bdd9ed;max-width:240px}#robot-lab .lab-travel-readout{border-top:1px solid #29425e;display:flex;justify-content:space-between;gap:20px;padding:14px 25px;color:#9cbdd8;font-size:13px;margin-top:auto}#robot-lab .lab-travel-readout strong{color:#d8edff;font-weight:500}
#robot-lab .lab-settings{padding:25px 27px;min-width:0;border-left:1px solid #c7d9eb}#robot-lab .lab-settings-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:21px}#robot-lab .lab-settings-heading h2{font-size:22px;letter-spacing:-.6px}#robot-lab #reset-lab{font-size:13px;color:#31668c;min-height:36px;padding:4px 0;text-decoration:underline;text-underline-offset:4px}#robot-lab .lab-presets{display:flex;gap:7px;margin-bottom:23px;flex-wrap:wrap}#robot-lab .lab-presets button{font-size:12px;line-height:1.4;padding:9px 10px;background:#f2f6fc;border:1px solid #d5e1ef;border-radius:6px;min-height:39px;color:#405f7e}#robot-lab .lab-presets button.active{background:#e1f1ff;border-color:#7bbbe9;color:#075f9d}
#robot-lab .lab-control{margin-top:19px}#robot-lab .lab-control-label{display:flex;justify-content:space-between;align-items:center;gap:15px}#robot-lab .lab-control-label>label{font-size:14px;font-weight:600;line-height:1.5;color:#193b60}#robot-lab .lab-number{display:flex;align-items:center;gap:5px;white-space:nowrap;color:#527493;font-size:13px}#robot-lab .lab-number input{width:60px;min-height:38px;border:1px solid #c6d7e9;border-radius:6px;background:#f8fbff;font-size:15px;color:#11466e;text-align:center;padding:5px;appearance:textfield;-moz-appearance:textfield}#robot-lab .lab-number input::-webkit-inner-spin-button,#robot-lab .lab-number input::-webkit-outer-spin-button{appearance:none;margin:0}#robot-lab .lab-control input[type=range]{width:100%;margin:12px 0 0;accent-color:#128ad4;height:25px;cursor:ew-resize}#robot-lab .lab-limits{display:flex;justify-content:space-between;font-size:12px;color:#6b8097;margin-top:0}
#robot-lab .lab-speed{margin:22px 0 0;border:0;padding:0;min-width:0}#robot-lab .lab-speed legend{font-size:14px;font-weight:600;margin-bottom:9px;color:#193b60}#robot-lab .lab-speed>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#robot-lab .lab-speed button{font-size:12px;padding:8px 5px;border:1px solid #d5e1ef;border-radius:6px;background:#f5f8fc;min-height:44px;line-height:1.4;color:#466782}#robot-lab .lab-speed button span{display:block;font-size:11px;opacity:.85;margin-top:2px}#robot-lab .lab-speed button.active{background:#123f6d;border-color:#123f6d;color:#fff}
#robot-lab .lab-code{background:#eff5fc;border:1px solid #d7e4f2;border-radius:8px;margin-top:23px;padding:14px;font:13px/1.9 monospace;overflow-wrap:anywhere;color:#45627e}#robot-lab .lab-code>span{display:block;margin-bottom:7px;color:#527b9d;font:11px var(--font);letter-spacing:.7px}#robot-lab .lab-code div{padding:4px 8px;border-left:2px solid transparent;border-radius:3px}#robot-lab .lab-code b{font-weight:500}#robot-lab .lab-code div.executing{background:#d9edff;border-color:#0e87cf;color:#084e7d}#robot-lab[data-decision=stop] #lab-stop-code.executing{background:#fff0d8;border-color:#b5781c;color:#7a4a0c}#robot-lab .lab-live-reason{margin:13px 0 0}#robot-lab #lab-comparison{font:600 14px monospace;color:#21668f}#robot-lab .lab-explanation{min-height:0;font-size:13px;line-height:1.8;margin:7px 0 0;color:#536e89}
#robot-lab .lab-experiments{margin-top:33px;padding:30px;background:#fff;border:1px solid #cfdfef;border-radius:14px}#robot-lab .lab-experiments-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}#robot-lab .lab-experiments-heading h2{font-size:26px;letter-spacing:-.7px}#robot-lab #lab-progress{font-size:13px;color:#35749c;background:#edf6ff;border:1px solid #cfe6f8;padding:6px 11px;border-radius:20px;white-space:nowrap}#robot-lab .lab-mission-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#robot-lab .lab-mission-tabs>button{text-align:left;padding:17px 19px;border:1px solid #d7e3f0;border-radius:9px;background:#f8fbff;position:relative;color:#476781}#robot-lab .lab-mission-tabs>button.active{border-color:#52a6dd;background:#eaf6ff;box-shadow:inset 0 0 0 1px #52a6dd}#robot-lab .lab-mission-tabs>button>span:first-child{font:12px monospace;display:block;color:#487ea2;margin-bottom:7px}#robot-lab .lab-mission-tabs strong{font-size:16px;letter-spacing:-.3px;line-height:1.4;display:block;color:#173f64;padding-right:20px}#robot-lab .lab-mission-done{position:absolute;right:15px;top:17px;width:22px;height:22px;border-radius:50%;background:#16745f;color:#fff;text-align:center;font-size:14px}#robot-lab .lab-mission-body{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:23px}#robot-lab .lab-mission-body h3{font-size:19px;line-height:1.4;letter-spacing:-.4px}#robot-lab .lab-mission-body p{font-size:15px;line-height:1.8;margin-top:7px;max-width:780px}#robot-lab #check-challenge{font-size:14px;white-space:nowrap;padding:12px 20px;min-height:46px;border-radius:7px;background:#113c67;color:#fff}#robot-lab #check-challenge:hover{background:#075e98}#robot-lab #challenge-result{padding:14px 17px;margin-top:20px;border-radius:7px;font-size:15px;line-height:1.7;background:#fff6e7;color:#77521b}#robot-lab #challenge-result[data-correct=true]{background:#e8f6ef;color:#24604b}
#robot-lab .lab-history{margin-top:30px}#robot-lab .lab-history h2{font-size:18px;letter-spacing:-.4px;margin-bottom:14px}#robot-lab #lab-history-empty{font-size:14px}#robot-lab #lab-test-history{padding:0;list-style:none;margin:0}#robot-lab #lab-test-history li{display:grid;grid-template-columns:65px 1fr auto;gap:18px;border-top:1px solid #d3e1ef;padding:13px 0;font-size:14px;align-items:center;color:#52708a}#robot-lab #lab-test-history strong{color:#1d507b;font-weight:500}#robot-lab .lab-test-number{font-size:10px;letter-spacing:.7px;color:#5484a7}#robot-lab .lab-model-note{margin-top:25px;font-size:13px;line-height:1.8;max-width:960px;color:#5a7490}#robot-lab .lab-model-note strong{font-weight:600;color:#365f83}
@keyframes lab-signal{to{stroke-dashoffset:-30}}
#robot-lab[data-phase=running] #lab-sonar{animation:lab-signal .8s linear infinite}
#robot-lab .lab-number input[aria-invalid=true]{border-color:#b76a35;background:#fff6ed}
@media(max-width:1100px){#robot-lab .lab-workspace{grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr)}#robot-lab .lab-settings{padding:23px}#robot-lab .lab-telemetry>div{padding:17px 16px}#robot-lab .lab-telemetry strong{font-size:23px}#robot-lab #lab-decision{font-size:20px}#robot-lab .lab-runbar{padding:22px 20px;gap:15px}#robot-lab #lab-title{font-size:50px}#robot-lab .lab-heading{gap:35px}#robot-lab .lab-heading-copy{max-width:400px}#robot-lab .lab-mission-tabs>button{padding:16px}}
@media(max-width:850px){#robot-lab .lab-workspace{grid-template-columns:1fr}#robot-lab .lab-settings{border-left:0;border-top:1px solid #c7d9eb;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:26px}#robot-lab .lab-settings-heading,#robot-lab .lab-presets{grid-column:1/-1}#robot-lab .lab-settings-heading{margin-bottom:17px}#robot-lab .lab-presets{margin-bottom:0}#robot-lab .lab-code{margin-top:20px}#robot-lab .lab-live-reason{margin-top:20px}#robot-lab .lab-heading{align-items:start;gap:25px}#robot-lab .lab-heading-copy{max-width:340px}#robot-lab .lab-heading-copy>p{font-size:15px}#robot-lab .lab-experiments{padding:25px}#robot-lab .lab-mission-tabs strong{font-size:15px}}
@media(max-width:600px){#robot-lab{padding-block:44px 55px}#robot-lab .lab-heading{display:block;margin-bottom:25px}#robot-lab #lab-title{font-size:45px;letter-spacing:-1.8px}#robot-lab .lab-heading-copy{max-width:none;margin-top:22px}#robot-lab .lab-heading-copy>p{font-size:16px;line-height:1.8}#robot-lab .lab-ai-label{font-size:13px}#robot-lab .lab-workspace{border-radius:12px}#robot-lab .lab-scene-header{font-size:12px;padding:19px 18px 0}#robot-lab .lab-scene-header>span:last-child{font-size:10px;letter-spacing:.5px}#robot-lab .lab-track svg text{display:none}#robot-lab .lab-track>svg{min-height:180px}#robot-lab .lab-track-legend{font-size:12px;gap:12px 22px;padding:0 10px 16px}#robot-lab .lab-telemetry>div{padding:16px 12px}#robot-lab .lab-telemetry span{font-size:11px;margin-bottom:7px}#robot-lab .lab-telemetry strong{font-size:22px}#robot-lab #lab-decision{font-size:18px}#robot-lab .lab-runbar{padding:19px 17px;gap:17px}#robot-lab #run-lab{font-size:14px;min-width:122px;padding-inline:14px}#robot-lab .robot-state{font-size:12px;line-height:1.7}#robot-lab .lab-travel-readout{padding:13px 17px;font-size:13px}#robot-lab .lab-settings{display:block;padding:23px 20px}#robot-lab .lab-presets{gap:7px;margin-bottom:22px}#robot-lab .lab-presets button{font-size:12px;flex:1;padding:9px 7px}#robot-lab .lab-control-label>label{font-size:15px}#robot-lab .lab-number input{width:62px;min-height:41px;font-size:16px}#robot-lab .lab-control input[type=range]{height:29px}#robot-lab .lab-speed legend{font-size:15px}#robot-lab .lab-speed button{font-size:14px}#robot-lab .lab-speed button span{font-size:12px}#robot-lab .lab-code{font-size:14px;padding:15px}#robot-lab .lab-code>span{font-size:12px}#robot-lab #lab-comparison{font-size:15px}#robot-lab .lab-explanation{font-size:15px;line-height:1.8}#robot-lab .lab-experiments{padding:22px 19px;margin-top:25px}#robot-lab .lab-experiments-heading{align-items:start;gap:12px}#robot-lab .lab-experiments-heading h2{font-size:23px;line-height:1.2}#robot-lab #lab-progress{font-size:12px;padding:6px 9px}#robot-lab .lab-mission-tabs{grid-template-columns:1fr;gap:10px}#robot-lab .lab-mission-tabs>button{padding:14px 16px;display:flex;gap:15px;align-items:center}#robot-lab .lab-mission-tabs>button>span:first-child{margin:0;font-size:13px}#robot-lab .lab-mission-tabs strong{font-size:16px}#robot-lab .lab-mission-done{top:12px}#robot-lab .lab-mission-body{display:block;margin-top:22px}#robot-lab .lab-mission-body h3{font-size:19px}#robot-lab .lab-mission-body p{font-size:15px}#robot-lab #check-challenge{margin-top:17px;min-height:45px}#robot-lab #lab-test-history li{grid-template-columns:48px 1fr;gap:5px 10px;font-size:13px}#robot-lab #lab-test-history li>span:last-child{grid-column:2}#robot-lab .lab-model-note{font-size:14px}}
@media(max-width:370px){#robot-lab #lab-title{font-size:41px}#robot-lab .eyebrow{font-size:11px;letter-spacing:.6px}#robot-lab .lab-settings{padding:22px 16px}#robot-lab .lab-telemetry>div{padding:15px 9px}#robot-lab .lab-telemetry span{font-size:10px}#robot-lab .lab-telemetry strong{font-size:20px}#robot-lab #lab-decision{font-size:16px}#robot-lab .lab-scene-header>span:last-child{display:none}#robot-lab .lab-presets button{font-size:11px;padding-inline:5px}#robot-lab .lab-code{padding:12px;font-size:13px}#robot-lab .lab-experiments-heading{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){#robot-lab #lab-sonar{animation:none!important}#robot-lab *{scroll-behavior:auto!important}}
