*{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}.envRowMain,.envRowMeta{display:grid;grid-gap:5px;gap:5px}.envRowMain strong{color:#eef3f8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px}.envRowMain span,.envRowMeta span{color:#8f9aa6;font-size:12px}.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{display:grid;grid-template-columns:minmax(520px,1fr) 360px;min-height:0}.stage{display:grid;grid-template-rows:minmax(0,1fr) 220px}.stage,.viewer{min-width:0;min-height:0;background:#000}.viewer{position:relative}.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}.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{padding:12px 12px 0}.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(180deg,rgba(116,171,231,.92),hsla(45,85%,81%,.94) 52%,rgba(98,91,78,.95) 53%,rgba(48,42,35,.96))}.cameraTile canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:center;transition:transform 36ms linear}.cameraShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 45%,rgba(0,0,0,.42));pointer-events:none}.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}.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}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{border:1px solid #8f3c44;border-radius:8px;background:#2a1417;color:#ff9da7;padding:10px;font-size:12px}.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}}