:root{font-family:Arial,Helvetica,sans-serif;color:#16372b;background:#f7f8f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#scene:focus-visible{outline:3px solid #b97728;outline-offset:3px}button{touch-action:manipulation}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}.standalone-header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid #e2e8df}.brand{display:flex;align-items:center;gap:10px;color:#203e30;text-decoration:none;font-size:19px;letter-spacing:-.6px}.brand small{display:block;letter-spacing:2.1px;font-size:8px;margin-top:4px;font-weight:700}.brandmark{width:39px;height:39px;border-radius:11px;background:#264f39;color:#fff;font-weight:800;display:grid;place-items:center;position:relative;font-size:26px}.brandmark span{position:absolute;font-size:18px;right:-4px;top:-7px;color:#cd963b}.back-link{font-size:13px;text-decoration:none;color:#2d5741;font-weight:700}.back-link span{margin-left:14px}.lab{position:relative;isolation:isolate;height:calc(100dvh - 76px);min-height:510px;overflow:hidden;background:#f4f6ef}.embedded .standalone-header{display:none}.embedded .lab{height:100dvh;min-height:420px}#scene{position:absolute;inset:0 0 76px;touch-action:none;outline:none}#scene canvas{display:block;width:100%;height:100%}.top-hud{position:absolute;top:25px;left:26px;right:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;pointer-events:none}.live-label{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:1.1px;padding-top:7px}.live-label i{display:block;background:#4b8c5a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #4b8c5a17}.live-label small{display:block;font-size:7px;letter-spacing:1.3px;margin-top:6px;color:#7c887a;font-weight:600}.environment-switch{padding:4px;border:1px solid #d8e1d3;background:#ffffffd9;display:flex;gap:3px;border-radius:12px;pointer-events:auto;box-shadow:0 3px 10px #24433004}.environment-switch button{border:0;background:transparent;color:#5f7566;font-size:10px;padding:8px 10px;border-radius:8px;font-weight:700;white-space:nowrap}.environment-switch button.active{background:#e4ebdf;color:#224b35}.name-tag{position:absolute;display:flex;gap:7px;align-items:center;padding:9px 12px;background:#fffffff2;border-radius:11px;box-shadow:0 5px 20px #25442d11;border:1px solid #e0e5d7;transform:translate(-50%,0);white-space:nowrap;pointer-events:auto}.name-tag .name-dot{height:5px;width:5px;background:#d4953f;border-radius:50%}.name-tag a{font-size:10px;font-weight:800;color:#213c2b;text-decoration:none}.name-tag a span{display:block;font-size:8px;font-weight:500;color:#688070;margin-top:4px}.scene-note{position:absolute;left:25px;bottom:166px;font-size:8px;color:#6b796a;background:#f5f7f1a0;padding:4px 6px;border-radius:5px;letter-spacing:.1px}.camera-tools{position:absolute;right:25px;bottom:181px;display:flex;flex-direction:column;gap:5px}.camera-tools button{border:1px solid #dde5d6;background:#fffffff0;color:#41623f;width:32px;height:32px;border-radius:9px;font-size:20px;display:grid;place-items:center;box-shadow:0 2px 6px #233e3008}.camera-tools svg{height:17px;width:17px}.camera-tools button:hover{background:white;border-color:#7b9876}.lower-hud{position:absolute;bottom:91px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.telemetry{display:flex;gap:10px;align-items:center;background:#ffffffed;border:1px solid #dfe7d7;border-radius:14px;padding:12px 14px;box-shadow:0 5px 25px #26463208;min-width:259px}.state-light{width:6px;height:6px;flex:none;border-radius:50%;background:#4b8c5a}.telemetry b{font-size:11px;font-weight:700;display:block}.telemetry #state-detail{font-size:8px;display:block;margin-top:4px;color:#72816a}.speed{display:flex;align-items:baseline;gap:3px;border-left:1px solid #e6eadf;padding-left:12px;margin-left:auto}.speed strong{font-size:19px;letter-spacing:-1px;font-weight:500;font-variant-numeric:tabular-nums}.speed span{font-size:8px;color:#798773}.hint{font-size:9px;color:#778971;white-space:nowrap}.hint>span:first-child{font-size:17px;vertical-align:middle;margin-right:4px}.hint-divider{padding:0 5px}.control-bar{position:absolute;left:0;right:0;bottom:0;height:76px;border-top:1px solid #dbe4d4;background:#fffdf9f5;display:flex;align-items:center;gap:8px;padding:0 24px;z-index:3}.mode-switch{display:flex;padding:4px;background:#eff2e9;border:1px solid #e1e6d9;border-radius:13px;gap:3px}.mode-switch button{border:0;background:none;padding:10px 12px;display:flex;align-items:center;gap:7px;border-radius:9px;color:#7b8973;font-size:11px;font-weight:700;white-space:nowrap}.mode-switch button svg{width:16px;height:16px}.mode-switch button.active{background:#2f583c;color:white;box-shadow:0 3px 8px #2f583c15}.quiet-button{height:36px;border:1px solid #dce4d5;background:white;border-radius:10px;font-size:10px;color:#617859;padding:0 10px}.quiet-button:hover{background:#f0f4ea}.quiet-button svg{height:14px;width:14px;display:block}.reset-button{margin-left:auto}.estop{height:40px;padding:0 14px;display:flex;align-items:center;gap:8px;border:1px solid #e9bbb3;background:#fff1ed;border-radius:11px;color:#9e453b;white-space:nowrap}.estop>span{width:12px;height:12px;border:2px solid #ac4e42;box-shadow:0 0 0 3px #f7ddd5;border-radius:4px;background:#c86455}.estop b{font-size:10px;letter-spacing:.6px}.estop[aria-pressed=true]{background:#a34136;color:white;border-color:#8d332a}.estop[aria-pressed=true]>span{background:#ffcab9;border-color:#fbe9e4;box-shadow:0 0 0 3px #f7ddd533}.drive-pad{position:absolute;bottom:168px;right:74px;text-align:center;border:1px solid #e1e7d9;border-radius:14px;background:#fffffff0;padding:11px;box-shadow:0 4px 16px #234d3108}.pad-label{font-size:7px;font-weight:700;letter-spacing:1px;color:#5d785a;margin-bottom:7px}.pad-grid{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(2,30px);gap:4px}.pad-grid button{border:1px solid #d7e1cf;border-radius:7px;background:#f4f7ef;font-size:18px;color:#37603e;touch-action:none}.pad-grid button:first-child{grid-column:2}.pad-grid button:nth-child(2){grid-column:1}.pad-grid button.pressed{background:#386440;color:white}.drive-pad small{font-size:7px;color:#7d8d74;display:block;margin-top:7px}.load-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:17px 24px;border-radius:12px;background:#fffffff5;font-size:12px;color:#556e4e;box-shadow:0 5px 30px #27442412;max-width:80%;text-align:center}.load-message a{color:#275639}.lab.is-estopped .state-light{background:#b95748}.lab.is-estopped .telemetry{border-color:#e7c0b4}.lab.is-estopped #state-text{color:#9c483b}@media(min-width:1100px){.lab:not(.embedded .lab) .top-hud{top:32px;left:44px;right:44px}.lab .control-bar{justify-content:center}.lab .reset-button{margin-left:15px}.lab .estop{margin-left:8px}.scene-note{left:44px}.lower-hud{left:44px;right:44px}.camera-tools{right:44px}}@media(max-width:590px){.top-hud{left:16px;right:16px;top:18px}.live-label{font-size:8px;letter-spacing:.7px}.live-label small{font-size:6px;letter-spacing:.6px}.environment-switch button{font-size:9px;padding:7px 8px}.environment-switch{border-radius:10px}.control-bar{padding:0 14px;gap:6px}.mode-switch button{padding:10px 8px;font-size:10px;gap:5px}.mode-switch button svg{height:14px;width:14px}.estop{padding:0 10px}.estop b{font-size:9px}.quiet-button{padding:0 8px}.lower-hud{left:15px;right:15px}.hint{display:none}.telemetry{min-width:246px}.scene-note{left:15px;font-size:7px;bottom:155px}.camera-tools{right:15px;bottom:172px}.name-tag a{font-size:9px}.name-tag a span{font-size:7px}.name-tag{padding:7px 9px}.drive-pad{right:58px;bottom:172px}.back-link{font-size:11px}.brand{font-size:16px}.standalone-header{height:68px}.lab{height:calc(100dvh - 68px)}}@media(max-width:370px){.mode-switch button svg{display:none}.mode-switch button{padding:10px 7px}.quiet-button{font-size:9px}.estop{padding:0 8px;gap:6px}.control-bar{padding:0 9px}.live-label small{display:none}.scene-note{font-size:6px}}

.brand img{width:150px;height:46px;object-fit:contain}.brand-subtitle{font-size:8px;font-weight:700;letter-spacing:1.4px;color:#728166;border-left:1px solid #dce4d5;padding-left:14px;margin-left:4px}@media(max-width:590px){.brand img{width:126px}.brand-subtitle{display:none}}
