*{box-sizing:border-box}#root,body,html{min-height:100%;margin:0;background:#0b0d0f;color:#e8eaed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{overflow:hidden}h1,h2,p{margin:0}button{font:inherit}.page,.shell{height:100vh;min-width:0}.page,.shell{display:grid;grid-template-rows:64px 1fr}.page{overflow:hidden}.topbar{justify-content:space-between;gap:16px;border-bottom:1px solid #282d33;padding:0 18px;background:#101316}.actions,.topbar{display:flex;align-items:center}.actions{min-width:0;justify-content:flex-end;gap:8px}.eyebrow{margin:0 0 3px;color:#8f99a6;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;letter-spacing:0;text-transform:uppercase}h1{font-size:18px}h1,h2{font-weight:650}h2{color:#cdd4dd;font-size:12px;text-transform:uppercase}.button{display:inline-flex;height:34px;min-width:0;align-items:center;justify-content:center;gap:7px;border:1px solid #36404a;border-radius:7px;background:#171d22;color:#d7dde5;cursor:pointer;padding:0 11px;white-space:nowrap}.button:hover:not(:disabled){border-color:#4b5966;background:#1d252c}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{border-color:#226c56;background:#123b31;color:#c6ffe8}.button.danger{border-color:#7a3941;background:#2a1519;color:#ffc3c9}.controlPlanePill{border:1px solid #36404a;border-radius:6px;padding:6px 10px;color:#b9c2cf;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;white-space:nowrap}.dashboard{display:grid;align-content:start;grid-gap:14px;gap:14px;overflow:auto;padding:18px}.dashboardHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid #252b31;padding-bottom:14px}.dashboardHeader p{margin-top:5px;color:#89939f;font-size:13px}.envList{display:grid;grid-gap:8px;gap:8px}.envRow{display:grid;grid-template-columns:1fr auto minmax(220px,.9fr);min-height:72px;align-items:center;grid-gap:14px;gap:14px;border:1px solid #293139;border-radius:8px;background:#13181d;color:inherit;cursor:pointer;padding:12px;text-align:left}.envRow:hover{border-color:#4a5865;background:#171f25}.envRow:disabled{cursor:not-allowed;opacity:.55}.envRowMain,.envRowMeta{display:grid;grid-gap:5px;gap:5px}.envRow.opening{border-color:#2c6652;background:#111d18}.envRowTitle{display:flex;min-width:0;align-items:center;gap:8px}.envRowMain strong{color:#eef3f8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.envRowMain span,.envRowMeta span{color:#8f9aa6;font-size:12px}.envTypeBadge{display:inline-flex;min-width:42px;height:20px;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid #374550;border-radius:999px;color:#c8d2dc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:800;letter-spacing:0}.envTypeBadge.real{border-color:#3f557b;background:#14233b;color:#cfe1ff}.envTypeBadge.simulation{border-color:#276952;background:#12372d;color:#c6ffe8}.envTypeBadge.ego{border-color:#5b4f7c;background:#241e36;color:#e4d9ff}.emptyState{display:grid;place-items:center;grid-gap:9px;gap:9px;min-height:260px;border:1px dashed #35414b;border-radius:8px;color:#8f9aa6;text-align:center}.emptyState strong{color:#dfe6ee}.workspace{grid-template-columns:minmax(520px,1fr) 360px}.stage,.workspace{display:grid;min-height:0}.stage{grid-template-rows:minmax(0,1fr) 220px;min-width:0;background:#000}.stage.stageFull{grid-template-rows:minmax(0,1fr)}.viewer{position:relative;min-width:0;min-height:0;background:#000}.viewerModeSwitch{position:absolute;z-index:5;top:12px;right:12px;display:inline-flex;gap:2px;border:1px solid rgba(122,137,151,.34);border-radius:8px;background:rgba(12,16,20,.78);padding:3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sceneModeSwitch{right:auto;left:12px}.realViewer{display:grid;grid-template-rows:auto minmax(0,1fr)}.viewerToolbar{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #1c232b;background:#0b0f13;padding:8px}.viewerToolbar .viewerModeSwitch{position:static;max-width:100%}.viewerLayers{position:relative;min-height:0}.viewerModeSwitch button{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:0;border-radius:6px;background:transparent;color:#a8b3bf;cursor:pointer;font:inherit;font-size:12px;font-weight:700;letter-spacing:0;padding:0 10px}.viewerModeSwitch button.active{background:#25313c;color:#eef4fa}.viewerModeSwitch button:disabled{color:#66727f;cursor:not-allowed}.viewerModeSwitch button:focus-visible{outline:2px solid #6aa7ff;outline-offset:2px}.viewerSwitchOverlay{position:absolute;z-index:6;inset:0;display:grid;place-content:center;grid-gap:10px;gap:10px;background:rgba(3,7,11,.38);color:#dce8f2;font-size:12px;font-weight:800;letter-spacing:0;pointer-events:none;text-transform:uppercase}.viewerSwitchOverlay svg{justify-self:center;color:#68d391;animation:spin .85s linear infinite}.viewerLayer{position:absolute;inset:0;opacity:0;pointer-events:none;visibility:hidden}.viewerLayer.active{opacity:1;pointer-events:auto;visibility:visible}.egoViewer{background:#0d1116}.egoStageContent{position:absolute;inset:0;display:grid;align-content:center;padding:64px 28px 28px}.sensorsView{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-content:start;overflow-y:auto}.tactileHeatmap{display:grid;min-width:0;grid-gap:12px;gap:12px;border:1px solid #26313b;border-radius:8px;background:#12181f;padding:16px}.tactileHeatmapHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#eef3f8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-transform:uppercase}.tactileHeatmapHeader span{color:#687684}.tactileHeatmapHeader span.live{color:#5ee09a}.tactileEmpty{display:grid;min-height:190px;place-items:center;border:1px solid #26313b;border-radius:6px;background:#0e141b;color:#687684;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-transform:uppercase}.tactileField{display:block;width:min(100%,260px);min-width:0;justify-self:center;aspect-ratio:1;overflow:hidden;border:1px solid #29343f;border-radius:6px;background:#0e141b}.tactileFieldGuide{stroke:#212b35;stroke-width:1}.tactileSite{fill:#47555f}.tactileSiteLabel{fill:#93a2b1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:7px;text-anchor:middle;text-transform:uppercase;paint-order:stroke fill;stroke:#0e141b;stroke-width:2.5px;stroke-linejoin:round}.tactileNormal[data-sign=positive]{fill:#55c6ff;fill-opacity:.22;stroke:#55c6ff;stroke-width:1}.tactileNormal[data-sign=negative]{fill:none;stroke:#ff7a90;stroke-width:1.5}.tactileShear{stroke:#5ee09a;stroke-linecap:round;stroke-width:2.5}.tactileNormal[data-clipped=true],.tactileShear[data-clipped=true]{stroke-dasharray:4 3}.tactileControls{display:flex;align-items:center;justify-content:space-between;gap:8px}.tactileControls button{border:1px solid #29343f;border-radius:4px;background:#0e141b;padding:4px 8px;color:#8a98a7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;text-transform:uppercase;cursor:pointer}.tactileControls button:hover:not(:disabled){border-color:#3a4854;color:#eef3f8}.tactileControls button:disabled{opacity:.4;cursor:default}.tactileScale{display:flex;align-items:center;gap:6px}.tactileScale code{color:#687684;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tactileSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid #29343f;border-radius:6px;background:#29343f;grid-gap:1px;gap:1px}.tactileSummary div{min-width:0;background:#0e141b;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.tactileMeta,.tactileSummary span{color:#687684;font-size:10px;text-transform:uppercase}.tactileSummary strong{display:block;margin-top:4px;color:#eef3f8;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tactileMeta{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.encoderDashboard{display:grid;min-height:0;grid-gap:12px;gap:12px}.encoderPanelTop{display:grid;grid-gap:10px;gap:10px}.encoderDashboard section{display:grid;min-width:0;min-height:0;grid-gap:12px;gap:12px;border:1px solid #26313b;border-radius:8px;background:#12181f;padding:16px}.encoderDashboard h3{margin:0;color:#eef3f8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-transform:uppercase}.encoderSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.encoderSectionHeader span{color:#687684;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-transform:uppercase}.encoderSectionHeader span.live{color:#5ee09a}.encoderSubSwitch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;border:1px solid #26313b;border-radius:8px;background:#0e141b;padding:4px}.encoderSubSwitch button{min-width:0;border:0;border-radius:6px;background:transparent;color:#8a98a7;cursor:pointer;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;padding:8px 6px;text-transform:uppercase}.encoderSubSwitch button.active{background:#1f2a36;color:#eef3f8}.encoderEmpty{display:grid;min-height:180px;place-items:center;border:1px dashed #29343f;border-radius:8px;background:#0e141b;color:#687684;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-transform:uppercase}.encoderBars{display:grid;max-height:min(360px,calc(100vh - 420px));grid-gap:6px;gap:6px;overflow:auto;padding-right:2px}.encoderBarRow{display:grid;grid-template-columns:40px minmax(0,1fr) 64px;align-items:center;grid-gap:10px;gap:10px;color:#8a98a7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.encoderBarTrack{overflow:hidden;height:8px;border:1px solid #29343f;border-radius:999px;background:#0e141b}.encoderBarTrack i{display:block;height:100%;border-radius:inherit;background:#55c6ff}.encoderBarTrackBipolar{background:linear-gradient(#3a4653,#3a4653) 50% /1px 100% no-repeat,#0e141b}.encoderBarRow code{color:#dbe4ec;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.encoderGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(360px,calc(100vh - 420px));grid-gap:8px;gap:8px;overflow:auto;padding-right:2px}.encoderGrid code{display:grid;min-height:34px;place-items:center;border:1px solid #29343f;border-radius:4px;background:#0e141b;color:#687684}.imuGrid{display:grid;grid-gap:10px;gap:10px}.imuCard{display:grid;grid-gap:8px;gap:8px;border:1px solid #29343f;border-radius:6px;background:#0e141b;padding:10px}.imuCard span{color:#8a98a7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;text-transform:uppercase}.imuCard code{color:#dbe4ec;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cameraPane,.viewerCameraFrame{position:absolute;inset:0;background:#050607}.cameraPane{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}.cameraPaneControls{display:flex;gap:6px;padding:8px;background:rgba(12,16,20,.92);overflow-x:auto}.cameraPaneControls .segmentControl{flex:1 1;min-width:0;padding:6px 8px}.cameraPaneControls .segmentControl input{width:100%;min-width:0}.cameraPaneControls .segmentControlRow{display:flex}.cameraPaneFeed{position:relative;min-height:0}.stageCameraTile{width:100%;height:100%;aspect-ratio:auto;border-radius:0}.stageCameraTile canvas{object-fit:cover;transform:none}.side{display:flex;min-height:0;flex-direction:column;overflow:auto;border-left:1px solid #282d33;background:#111519}.panel,.side{gap:10px;padding:12px}.panel{display:grid;grid-gap:10px;border:1px solid #2a3037;border-radius:8px;background:#151a1f}.panelHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.panelHeader span{font-size:11px;font-weight:700;text-transform:uppercase}.mutedText{color:#8995a2;font-size:12px;line-height:1.45}.assistantPanel{grid-template-rows:auto auto minmax(150px,260px) auto auto auto}.assistantPanelHeader h2{display:inline-flex;align-items:center;gap:7px}.assistantMessages{display:flex;min-height:150px;max-height:260px;flex-direction:column;gap:8px;overflow:auto;border-top:1px solid #252b31;padding-top:10px}.assistantEmpty{display:grid;min-height:120px;place-items:center;align-content:center;grid-gap:7px;gap:7px;color:#76818d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;text-transform:uppercase}.assistantMessage{display:grid;grid-gap:4px;gap:4px;max-width:92%;border:1px solid #2a3037;border-radius:8px;background:#10151a;padding:8px 9px}.assistantMessage.user{align-self:flex-end;border-color:#315064;background:#112431}.assistantMessage.assistant{align-self:flex-start}.assistantMessage span{color:#93a0ad;font-size:10px;font-weight:700;text-transform:uppercase}.assistantMessage p{color:#dce4ed;font-size:12px;line-height:1.45;margin:0;white-space:pre-wrap}.assistantError,.assistantToolRow,.assistantWorking{display:flex;align-items:center;gap:8px;color:#9da9b5;font-size:11px}.assistantWorking span:first-child{width:8px;height:8px;border-radius:999px;animation:assistantPulse 1s ease-in-out infinite;background:#65d590}.assistantTools{display:grid;grid-gap:6px;gap:6px;border-top:1px solid #252b31;padding-top:8px}.assistantExecution{display:grid;grid-gap:8px;gap:8px;min-width:0;border-top:1px solid #2b343d;padding-top:10px}.assistantExecutionHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#cdd6df;font-size:11px}.assistantExecutionHeader>div:first-child{display:grid;grid-gap:2px;gap:2px}.assistantExecutionHeader>div:first-child small{color:#778490;font-size:9px;font-weight:500;text-transform:uppercase}.assistantExecutionHeader [role=tablist]{display:flex;gap:3px}.assistantExecutionHeader button{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:5px;background:transparent;color:#84909c;padding:3px 6px;font-size:10px;cursor:pointer}.assistantExecutionHeader button[aria-selected=true]{border-color:#34414d;background:#151c22;color:#dce4ed}.assistantFlow{display:grid;grid-gap:5px;gap:5px;max-height:280px;overflow:auto}.assistantFlowNode{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;grid-gap:7px;gap:7px;width:100%;border:1px solid #29323a;border-radius:6px;background:#0f1418;color:#a7b1bb;padding:7px 8px;text-align:left;cursor:pointer}.assistantFlowNode:not(:last-of-type):after{position:absolute;bottom:-6px;left:14px;width:1px;height:6px;background:#35404a;content:""}.assistantFlowNode span{overflow:hidden;font:11px ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.assistantFlowNode small{color:#6f7b86;font-size:9px}.assistantFlowNode.running{border-color:#4b86a9;background:#102331;color:#8bd3ff}.assistantFlowNode.running svg{animation:assistantSpin 1s linear infinite}.assistantFlowNode.passed{border-color:#29583d;color:#88e0aa}.assistantFlowNode.failed{border-color:#67393d;color:#f08a8e}.assistantFlowDetail,.assistantProgramCode{max-height:300px;overflow:auto;border:1px solid #29323a;border-radius:6px;background:#090d10;color:#cbd5df;margin:0;padding:9px;font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre}.assistantJourney{display:grid;grid-gap:10px;gap:10px;overflow:hidden;border:1px solid #2b3741;border-radius:12px;background:radial-gradient(circle at 90% 0,rgba(72,145,187,.12),transparent 42%),linear-gradient(160deg,#11181e,#0b1014 72%);box-shadow:inset 0 1px hsla(0,0%,100%,.03),0 10px 28px rgba(0,0,0,.18);padding:11px}.assistantJourneyIntro{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:1px 2px 2px}.assistantJourneyIntro>div{display:inline-flex;align-items:center;gap:6px;color:#b8dff5}.assistantJourneyIntro span{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.assistantJourneyIntro small{border:1px solid #344653;border-radius:999px;background:#111b22;color:#8697a4;padding:3px 7px;font-size:9px}.assistantStrategy{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:start;grid-gap:8px;gap:8px;border:1px solid #34414d;border-radius:9px;background:linear-gradient(135deg,#14232d,#0d151b);color:#94a3b0;padding:10px}.assistantStrategy.running{border-color:#4b86a9;box-shadow:inset 3px 0 #5cb8eb}.assistantStrategy.resolved{border-color:#326044;box-shadow:inset 3px 0 #65d590}.assistantStrategy>div{display:grid;grid-gap:2px;gap:2px}.assistantStrategy small,.assistantStrategy span{color:#7f8c98;font-size:9px;font-weight:700;text-transform:uppercase}.assistantStrategy strong{color:#e1e8ef;font-size:13px}.assistantStrategy p{color:#9ba8b4;font-size:10px;line-height:1.4;margin:1px 0 0}.assistantStrategy>small{border:1px solid #31404b;border-radius:999px;padding:3px 6px;white-space:nowrap}.assistantStages{display:grid;grid-gap:5px;gap:5px}.assistantStage{position:relative;display:grid;grid-template-columns:18px 18px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;min-height:48px;border:1px solid #27323a;border-radius:9px;background:rgba(10,15,19,.68);color:#697580;padding:7px 9px 7px 7px;transition:border-color .16s ease,background .16s ease,transform .16s ease}.assistantStageRail{display:grid;justify-items:center;align-self:center}.assistantStageRail span{position:absolute;z-index:0;bottom:-7px;left:15px;width:1px;height:7px;background:#303941}.assistantStage>div:nth-child(3){display:grid;grid-gap:2px;gap:2px}.assistantStage strong{color:#a8b2bc;font-size:11px}.assistantStage small{overflow:hidden;color:#6f7b86;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.assistantStageState{border:1px solid #2d3942;border-radius:999px;padding:2px 6px;font-size:8px!important;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.assistantStage.running,.assistantStage.running strong{color:#8bd3ff}.assistantStage.running{border-color:#3d7797;background:linear-gradient(90deg,rgba(29,91,126,.35),rgba(10,20,27,.72));box-shadow:inset 3px 0 #64c7f4,0 0 18px rgba(73,166,216,.1);transform:translateX(2px)}.assistantStage.running .assistantStageRail svg{animation:assistantSpin 1s linear infinite}.assistantStage.passed,.assistantStage.passed strong{color:#88e0aa}.assistantStage.passed{border-color:#294638;background:linear-gradient(90deg,rgba(35,91,57,.22),rgba(9,16,13,.58))}.assistantStage.passed .assistantStageRail span{background:#37664a}.assistantStage.failed,.assistantStage.failed strong{color:#f08a8e}.assistantStage.failed{border-color:#6a383e;background:linear-gradient(90deg,rgba(114,45,53,.28),rgba(22,11,13,.68));box-shadow:inset 3px 0 #ed747b}.assistantTechnicalTrace{border-top:1px solid #252d34;padding-top:7px}.assistantTechnicalTrace summary{color:#7f8b96;font-size:10px;cursor:pointer}.assistantTechnicalTrace>div{display:grid;grid-gap:4px;gap:4px;max-height:240px;overflow:auto;padding-top:7px}.assistantTechnicalTrace details{border:1px solid #29323a;border-radius:5px;background:#0d1216;padding:5px 7px}.assistantTechnicalTrace pre{overflow:auto;color:#aebbc7;font:9px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin:6px 0 0;white-space:pre}.assistantFlowDetail{max-height:150px;color:#aebbc7}@keyframes assistantSpin{to{transform:rotate(1turn)}}.assistantToolRow{justify-content:space-between;border:1px solid #26303a;border-radius:6px;background:#10151a;padding:6px 8px}.assistantToolRow span{flex:1 1;color:#cdd6df}.assistantToolRow code{color:#88e0aa;font-size:10px;text-transform:uppercase}.assistantError,.assistantToolRow.failed code{color:#f08a8e}.assistantError{border-top:1px solid #252b31;padding-top:8px}.assistantComposer{display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-gap:8px;gap:8px;border-top:1px solid #252b31;border-bottom:1px solid #252b31;background:linear-gradient(180deg,rgba(19,31,40,.7),rgba(10,14,18,.35));padding:10px;margin:0 -10px}.assistantComposer textarea{width:100%;min-height:42px;max-height:110px;resize:vertical;border:1px solid #385164;border-radius:10px;background:#0a1116;color:#dce4ed;font:inherit;font-size:12px;line-height:1.35;outline:none;padding:8px 9px}.assistantComposer textarea:focus{border-color:#66bce8;box-shadow:0 0 0 3px rgba(74,164,211,.12)}.assistantComposer textarea:disabled{color:#7f8b97}.assistantComposer button{display:inline-grid;width:36px;height:36px;place-items:center;align-self:end;border:1px solid #365064;border-radius:10px;background:linear-gradient(145deg,#174765,#103149);color:#d9edf9;cursor:pointer;box-shadow:inset 0 1px hsla(0,0%,100%,.08)}.assistantComposer button:disabled{border-color:#29313a;background:#151a1f;color:#66717d;cursor:not-allowed}@keyframes assistantPulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.feedRows,.streamPanel{display:grid;grid-gap:10px;gap:10px}.bboxPanel{gap:11px}.bboxSearch{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;border-top:1px solid #252b31;padding-top:10px}.bboxSearch input{min-width:0;height:34px;border:1px solid #303841;border-radius:7px;background:#0c1014;color:#dce4ed;font:inherit;font-size:12px;outline:none;padding:0 9px}.bboxSearch input:focus{border-color:#4f7b97}.bboxSearch button{display:inline-flex;min-width:82px;height:34px;align-items:center;justify-content:center;gap:6px;border:1px solid #226c56;border-radius:7px;background:#123b31;color:#c6ffe8;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.bboxSearch button:disabled{border-color:#29313a;background:#151a1f;color:#66717d;cursor:not-allowed}.bboxSearch button.trackingStop{border-color:#8d4b43;background:#3c211f;color:#ffd8d2}.bboxSearch button svg{flex:0 0 auto}.bboxSearch button svg[data-lucide=loader-2]{animation:spin .9s linear infinite}.bboxResults{display:grid;grid-gap:7px;gap:7px;border-top:1px solid #252b31;padding-top:10px}.bboxResult,.bboxResultMeta{display:flex;align-items:center;justify-content:space-between;gap:8px}.bboxResult span,.bboxResultMeta span{min-width:0;overflow:hidden;color:#dfe5ec;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.bboxResult{padding:7px 8px}.bboxEmpty,.bboxError,.bboxResult{border:1px solid #29343f;border-radius:6px;background:#0e141b}.bboxEmpty,.bboxError{color:#87919d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;padding:8px;text-transform:uppercase}.bboxError{border-color:#8f3c44;background:#2a1417;color:#ff9da7;text-transform:none}.feedRow{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #252b31;padding-top:10px}.feedRow span{color:#dfe5ec;font-size:12px;text-transform:capitalize}.jsonProfile{display:grid;grid-gap:8px;gap:8px;border-top:1px solid #252b31;padding-top:10px}.jsonProfileHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.jsonProfileHeader span{color:#dfe5ec;font-size:12px;font-weight:700}.jsonProfileHeader button{display:inline-flex;align-items:center;gap:5px;border:1px solid #36404a;border-radius:6px;background:#171d22;color:#cfd7e0;cursor:pointer;font:inherit;font-size:11px;padding:5px 8px}.jsonProfileHeader button:hover{border-color:#4b5966;background:#1d252c}.jsonProfileHeader button.copied{border-color:#2c8d68;background:#123f31;color:#76e4a6}.jsonProfileHeader button.copied:hover{border-color:#36a77c;background:#164b3a}.jsonProfile pre{max-height:240px;overflow:auto;border:1px solid #252b31;border-radius:6px;background:#0c1014;color:#aeb8c4;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;line-height:1.45;margin:0;padding:10px;white-space:pre}.disclosurePanel{display:block}.disclosurePanel summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.disclosurePanel summary::-webkit-details-marker{display:none}.disclosurePanel summary span{width:7px;height:7px;border-right:1px solid #8e9aa6;border-bottom:1px solid #8e9aa6;transform:rotate(45deg)}.disclosurePanel[open] summary span{transform:rotate(225deg)}.disclosureContent{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.detailSectionTitle{display:block;border-top:1px solid #252b31;padding-top:10px;color:#dfe5ec;font-size:12px;font-weight:700}.disclosureContent .detailSectionTitle:first-child{border-top:0;padding-top:0}.cameraPanel{display:grid;grid-template-rows:36px minmax(0,1fr);grid-gap:0;gap:0;border-width:1px 0 0;border-radius:0;padding:0;overflow:hidden}.cameraPanel .panelHeader{align-items:center;padding:12px 12px 0}.cameraHeaderActions{display:inline-flex;align-items:center;gap:8px}.cameraTransportSwitch{display:inline-grid;grid-template-columns:repeat(2,minmax(44px,auto));overflow:hidden;border:1px solid #36404a;border-radius:6px}.cameraTransportSwitch button{min-width:44px;border:0;border-right:1px solid #36404a;background:#10161c;color:#8f9aa7;font:inherit;font-size:10px;padding:3px 8px;text-transform:uppercase}.cameraTransportSwitch button:last-child{border-right:0}.cameraTransportSwitch button.active{background:#24303a;color:#e6edf5}.cameraGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;min-height:0;background:#252b31}.cameraEmpty{display:grid;min-height:120px;place-items:center;background:#151a1f;color:#87919d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;text-transform:uppercase}.cameraTile{position:relative;aspect-ratio:16/9;height:100%;min-height:0;overflow:hidden;background:#050607}.cameraTile:before{position:absolute;inset:0;content:"";background:linear-gradient(rgba(44,52,60,.55) 1px,transparent 0),linear-gradient(90deg,rgba(44,52,60,.55) 1px,transparent 0),#050607;background-size:32px 32px}.cameraTile canvas,.cameraTile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center;transition:transform 36ms linear}.segmentationOverlay{position:absolute;z-index:2;inset:0;pointer-events:none}.segmentationOverlay.stale{opacity:.6}.segmentLatency{color:#9fb3ab;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.segmentLatency.stale{color:#f0ad4e}.segmentationMaskShape{position:absolute;inset:0;opacity:.68;mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.segmentationMaskLabel{position:absolute;transform:translateY(-100%);padding:1px 5px;border:1px solid;border-radius:3px;background:rgba(2,8,6,.88);color:#e8fff2;font-size:11px;white-space:nowrap}.segmentControl{width:260px;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid hsla(0,0%,100%,.12);background:rgba(18,20,24,.86);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px}.segmentControlRow{display:flex;gap:6px;align-items:center}.segmentControl button{flex:none;min-width:104px;justify-content:center;white-space:nowrap}.segmentControl input{flex:1 1 auto;min-width:0;padding:4px 8px;border:1px solid hsla(156,8%,51%,.4);border-radius:4px;background:rgba(6,12,10,.7);color:inherit;font-size:12px}.segmentControl button:disabled{opacity:.45;cursor:not-allowed}.segmentError{max-width:100%;padding:4px 8px;border-radius:4px;background:rgba(60,12,12,.9);color:#ffd9d9;font-size:11px}.bboxOverlay{position:absolute;z-index:3;inset:0;pointer-events:none}.bboxOverlay.stale{opacity:.55}.bboxOverlayBox{position:absolute;min-width:14px;min-height:14px;border:2px solid #62e6a2;box-shadow:0 0 0 1px rgba(2,8,6,.72),0 0 18px rgba(98,230,162,.22)}.bboxOverlayBox.selected{border-width:3px;box-shadow:0 0 0 1px rgba(2,8,6,.82),0 0 24px rgba(98,230,162,.4)}.bboxOverlay.predicted .bboxOverlayBox{border-color:#f0ad4e;border-style:dashed;box-shadow:0 0 0 1px rgba(18,10,2,.72),0 0 18px rgba(240,173,78,.22)}.bboxOverlay.predicted .bboxOverlayBox span{border-color:rgba(240,173,78,.78);background:rgba(28,17,5,.88);color:#ffe4b8}.bboxOverlayBox span{left:-2px;bottom:calc(100% + 2px);max-width:min(220px,60vw);overflow:hidden;border:1px solid rgba(98,230,162,.72);border-radius:4px;background:rgba(5,16,12,.86);line-height:1.2;padding:3px 5px;text-overflow:ellipsis;white-space:nowrap}.bboxOverlayBox span,.splatTrackingNotice{position:absolute;color:#d8ffec;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px}.splatTrackingNotice{z-index:4;top:54px;left:50%;max-width:min(520px,calc(100% - 32px));transform:translateX(-50%);border:1px solid rgba(98,230,162,.55);border-radius:5px;background:rgba(5,16,12,.9);line-height:1.3;padding:6px 9px;pointer-events:none}.workModelToggle{position:absolute;z-index:35;top:18px;right:18px;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 13px;border:1px solid rgba(153,190,211,.4);border-radius:8px;background:rgba(8,18,27,.72);color:#d9e6ed;font:600 11px/1 JetBrains Mono,monospace;letter-spacing:.04em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.workModelToggle.active,.workModelToggle:hover{border-color:rgba(62,224,236,.75);background:rgba(7,34,43,.88);color:#69eef2}.workModelToggle kbd{min-width:19px;padding:3px 4px;border:1px solid rgba(207,226,236,.28);border-radius:4px;background:hsla(0,0%,100%,.07);color:inherit;font:inherit;text-align:center}.workModelHud{position:absolute;z-index:35;right:18px;bottom:18px;display:grid;grid-template-columns:1fr 1fr;grid-gap:7px 16px;gap:7px 16px;min-width:250px;padding:12px 14px;border:1px solid rgba(124,181,208,.28);border-radius:8px;background:rgba(5,15,23,.78);color:#b7c9d3;font:500 10px/1.2 JetBrains Mono,monospace;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workModelHud.active{opacity:1;transform:translateY(0)}.workModelHud strong{grid-column:1/-1;margin-bottom:3px;color:#edf8fb;font-size:11px;letter-spacing:.07em}.workModelHud span{display:flex;align-items:center;gap:7px;white-space:nowrap}.workModelHud i{width:13px;height:3px;border-radius:2px;background:#7895ad;box-shadow:0 0 7px currentColor}.workModelHud i.safe{background:#38d878}.workModelHud i.margin{background:#f5c84c}.workModelHud i.boundary{background:#ff4f45}.workModelHud i.normal{background:#3b82f6}.splatTrackingNotice.error{border-color:rgba(255,110,122,.72);background:rgba(42,20,23,.92);color:#ffb1b9}.cameraTile.disconnected canvas,.cameraTile.disconnected video{opacity:0}.cameraShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 45%,rgba(0,0,0,.42));pointer-events:none}.cameraTile.disconnected .cameraShade{background:rgba(0,0,0,.18)}.cameraDisconnectOverlay,.cameraLabel,.cameraLive,.cameraResolution{position:absolute;z-index:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:9px;letter-spacing:0;text-transform:uppercase}.cameraLabel{top:8px;left:8px;color:#dce5ee}.cameraLive{top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;color:#65d590}.cameraLive span{width:6px;height:6px;border-radius:999px;background:currentColor}.cameraLive.stale{color:#7d8792}.cameraLive.disconnected{color:#e15f63}.cameraDisconnectOverlay{inset:0;display:grid;place-items:center;color:#8d98a5;font-size:10px}.cameraResolution{right:8px;bottom:8px;color:#9eabb8}.resource,.stream{display:grid;grid-gap:5px;gap:5px;border-top:1px solid #252b31;padding-top:10px}.streamTop{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dfe5ec;font-size:13px;text-transform:capitalize}.channelGroupTitle{display:block;border-top:1px solid #252b31;padding-top:10px;color:#dfe5ec;font-size:12px;font-weight:700}code{display:block;overflow-wrap:anywhere;color:#9eabb8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;line-height:1.45}.resource span{color:#dfe5ec;font-size:12px}.statusOk{color:#65d590}.statusIdle{color:#7d8792}.error,.sceneError,.statusCard{border:1px solid #8f3c44;border-radius:8px;background:#2a1417;color:#ff9da7;padding:10px;font-size:12px}.error,.statusCard{display:grid;grid-gap:4px;gap:4px}.error strong,.statusCard strong{color:#ffd4d9;font-size:13px}.error span,.statusCard span{color:#ffbdc4}.statusCard{border-color:#226c56;background:#10281f;color:#b8ffdd}.statusCard strong{color:#d8ffec}.statusCard span{color:#91dcb7}.modalBackdrop{position:fixed;z-index:90;inset:0;display:grid;place-items:center;background:rgba(5,8,11,.68);padding:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.createEnvModal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);max-height:min(780px,calc(100vh - 36px));overflow:hidden;border:1px solid #303944;border-radius:8px;background:#11161b;color:#e8eaed;box-shadow:0 22px 80px rgba(0,0,0,.52)}.modalFooter,.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #252d35;padding:14px}.modalHeader h2{color:#eef3f8;font-size:16px;text-transform:none}.modalIconButton{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid #36404a;border-radius:7px;background:#171d22;color:#d7dde5;cursor:pointer}.modalIconButton:hover:not(:disabled){border-color:#4b5966;background:#1d252c}.modalIconButton:disabled{cursor:not-allowed;opacity:.55}.modalBody{display:grid;align-content:start;grid-gap:14px;gap:14px;overflow:auto;padding:14px}.modalFooter{justify-content:flex-end;border-top:1px solid #252d35;border-bottom:0}.field{display:grid;grid-gap:6px;gap:6px}.field span{color:#9aa7b4;font-size:11px;font-weight:750;text-transform:uppercase}.field select{width:100%;min-height:36px;border:1px solid #303a44;border-radius:7px;background:#0c1116;color:#e3e9ef;font:inherit;outline:none;padding:0 10px}.field select:focus{border-color:#4f7b97}.field select:disabled{color:#687684}.baseSceneSummary,.emptyInline,.modalState{display:flex;min-width:0;align-items:center;gap:8px;border:1px solid #29343f;border-radius:7px;background:#0e141b;color:#b8c3cf;padding:9px 10px;font-size:12px}.baseSceneSummary svg,.modalState svg{flex:0 0 auto;color:#65d590}.modalState svg{animation:spin .9s linear infinite}.emptyInline{color:#75818d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-transform:uppercase}.blockingOverlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:rgba(5,8,11,.72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:wait}.blockingDialog{display:grid;min-width:min(360px,calc(100vw - 32px));place-items:center;grid-gap:10px;gap:10px;border:1px solid #2c6652;border-radius:8px;background:#111a16;color:#d8ffec;padding:24px;text-align:center;box-shadow:0 18px 70px rgba(0,0,0,.45)}.blockingDialog svg{color:#65d590;animation:spin .9s linear infinite}.blockingDialog strong{font-size:16px}.blockingDialog span{color:#91dcb7;font-size:12px}@keyframes spin{to{transform:rotate(1turn)}}.sceneError{position:absolute;inset:18px;display:grid;place-content:center;grid-gap:8px;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;text-align:center;text-transform:uppercase}.sceneError span{color:#ffbdc4;text-transform:none}.sceneLoading,.viewportMessage{position:absolute;inset:0;display:grid;place-items:center;color:#9eabb8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-transform:uppercase}.viewportMessage.inline{position:static;min-height:160px}.sceneLoading{z-index:10;gap:8px;align-content:center;background:rgba(5,5,5,.94);letter-spacing:0}.sceneLoading span{color:#687684;font-size:10px}.loadingBar{position:relative;width:220px;height:2px;overflow:hidden;background:#1d252d}.loadingBar i{position:absolute;inset:0 auto 0 0;width:50%;background:linear-gradient(90deg,transparent,#61dafb,transparent);animation:shimmer 1.15s linear infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(220px)}}@media (max-width:920px){body{overflow:auto}.page,.shell{height:auto;min-height:100vh}.topbar{min-height:64px;flex-wrap:wrap;padding:10px 12px}.actions{flex-wrap:wrap;justify-content:flex-start}.workspace{grid-template-columns:1fr;grid-template-rows:minmax(680px,78vh) auto}.stage{grid-template-rows:minmax(0,1fr) auto}.cameraGrid{grid-template-columns:1fr;height:auto}.cameraTile{height:auto}.side{border-left:0;border-top:1px solid #282d33}.envRow{grid-template-columns:1fr}}.viewerBottomRight{position:absolute;right:16px;bottom:16px;z-index:5;display:flex;gap:8px;align-items:flex-end}.robotControlPanel{display:flex;flex-direction:column;gap:8px;padding:12px;max-width:260px;border-radius:10px;background:rgba(18,20,24,.86);border:1px solid hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:12px}.robotControlPanel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.robotState{padding:2px 8px;border-radius:999px;font-weight:600;letter-spacing:.04em;background:hsla(0,0%,100%,.12)}.robotState-streaming{background:rgba(40,160,90,.35)}.robotState-direct{background:rgba(60,120,220,.35)}.robotState-estop,.robotState-faulted{background:rgba(200,60,60,.45)}.robotControlRow{display:flex;gap:8px}.robotControlRow button{flex:1 1}.robotGripState{font-size:.78rem;opacity:.75;white-space:nowrap}.robotGripState,.robotMoveRow{display:flex;align-items:center}.robotMoveRow{gap:8px;margin-top:8px}.robotMoveRow input{flex:1 1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.robotReadout{margin-top:8px;padding:8px;max-height:140px;overflow:auto;font-size:.75rem;white-space:pre-wrap;overflow-wrap:anywhere}.robotJogGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.robotJogAxis{display:flex;align-items:center;gap:4px}.robotJogAxis span{width:18px;opacity:.7}.robotJogAxis button{flex:1 1;padding:4px 0}.robotControlHint{margin:0;opacity:.6;font-size:11px;line-height:1.35}