:root{color-scheme:dark;--bg:#06121d;--panel:#0a1b28;--line:rgba(118,182,203,.16);--blue:#96dff0;--blue2:#60b9d1;--white:#eaf3f8;--muted:#8fa7b5;--gold:#e9ba7d}*{box-sizing:border-box}html,body{margin:0;min-width:310px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--white);overflow:hidden}body{height:100dvh}button,input,select{font:inherit}button{border:1px solid transparent;color:inherit;cursor:pointer;transition:background .16s,border-color .16s,color .16s}button:hover{background:#244255;border-color:#7bc5d875}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #83d8ea;outline-offset:2px}button:disabled{opacity:.4;cursor:default}#app{height:100dvh;display:flex;flex-direction:column;min-height:0}.topbar{height:66px;display:flex;align-items:center;justify-content:space-between;flex:none;background:#091824;border-bottom:1px solid var(--line);padding:0 22px;gap:16px}.brand{display:flex;align-items:center;gap:13px;min-width:245px}.brand-mark{border:1px solid #77d1e683;background:#0c2b3a;font-size:30px;font-weight:900;line-height:41px;width:47px;text-align:center;letter-spacing:-5px;color:#d3f6fc}.brand-dot{color:#edb881}.brand strong{font-size:19px;font-weight:800;letter-spacing:3px}.submark{color:#88d5e6}.brand small{display:block;font-size:8px;letter-spacing:1.8px;color:#799caf;margin-top:3px}.model-meta{display:flex;align-items:center;gap:13px;font:600 10px ui-monospace,monospace;letter-spacing:1.5px;color:#9db9c3;white-space:nowrap}.pulse,.status-led,.green-dot{width:7px;height:7px;border-radius:50%;background:#6cdac3;display:inline-block;box-shadow:0 0 10px #6cdac396}.thinbar{opacity:.3}.edition{color:#5f8794}.top-actions{display:flex;align-items:center;gap:4px}.icon-button{padding:10px 12px;color:#a7c3d1;font:700 10px ui-monospace,monospace;letter-spacing:1px;background:transparent;border:1px solid transparent;white-space:nowrap}.icon-button span:first-child{font-size:16px;margin-right:5px;color:#87d7ea}.mobile-only{display:none}.modebar{height:56px;display:flex;justify-content:space-between;align-items:stretch;background:#0a1b28;border-bottom:1px solid var(--line);flex:none;padding:0 20px}.modes{display:flex;align-items:stretch;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.modes button{font-size:10px;letter-spacing:1.15px;font-weight:800;background:transparent;color:#8eabbb;padding:0 14px;border-bottom:2px solid transparent;white-space:nowrap}.modes button.active{color:#b9effd;border-bottom-color:#a5effc;background:linear-gradient(0deg,#173e505e,transparent 75%)}.mode-glyph{font-size:16px;margin-right:5px}.mode-status{display:flex;align-items:center;gap:9px;font:700 10px ui-monospace,monospace;color:#85bdc6;letter-spacing:1px;white-space:nowrap;padding-left:14px}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:265px minmax(0,1fr) 280px;max-width:2200px;width:100%;margin:0 auto}.sidebar{display:flex;flex-direction:column;background:#0a1b27;min-height:0;overflow:hidden}.tree-panel{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3d6475 transparent}.panel-head{padding:24px 20px 15px}.eyebrow{color:#6f95a6;font:700 9px ui-monospace,monospace;letter-spacing:1.55px}.eyebrow.blue{color:#7ed0e7}.panel-head h2{font-size:15px;font-weight:750;letter-spacing:.1px;margin:10px 0 5px}.panel-head h2 span{font:700 10px ui-monospace,monospace;color:#81d3e2;margin-left:7px}.panel-head p{color:#718e9d;font-size:11px;margin:0;line-height:1.5}.searchbox{display:flex;align-items:center;margin:0 15px 13px;gap:9px;background:#06141f;border:1px solid #244657;padding:9px 11px;color:#83b8ca}.searchbox span:first-child{font-size:21px;line-height:17px}.searchbox input{width:100%;background:none;outline:none;border:0;color:#c8e4ee;font-size:11px}.searchbox input::placeholder{color:#648494}.searchbox #searchClear{cursor:pointer;font-size:16px}.tree-controls{display:flex;align-items:center;justify-content:space-between;margin:0 17px;padding:10px 0;border-top:1px solid var(--line);font:700 9px ui-monospace,monospace;letter-spacing:.5px;color:#718e9d}.tree-controls button{font:700 9px ui-monospace,monospace;letter-spacing:.3px;background:transparent;color:#8dcad8}.tree-scroll{overflow-y:auto;flex:1;min-height:0;scrollbar-color:#355568 transparent;scrollbar-width:thin;padding:3px 11px 15px}.tree-group{margin-top:7px}.tree-heading{width:100%;display:flex;align-items:center;text-align:left;background:transparent;padding:10px 8px;border-radius:3px;font-size:10px;font-weight:750;letter-spacing:.4px;color:#a9c6d0}.tree-heading span:first-child{color:#8bcae0;margin-right:10px}.tree-heading .group-count{margin-left:auto;color:#6b93a4;font:700 9px ui-monospace,monospace}.tree-part{width:100%;display:flex;align-items:center;text-align:left;padding:7px 5px 7px 22px;gap:8px;border-left:2px solid transparent;background:transparent;font-size:10.5px;color:#829fac;border-radius:2px}.tree-part .mini-dot{height:5px;width:5px;flex:none;border-radius:50%;background:#3d6070}.tree-part span.name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-part .check{font-size:12px;color:#61c8b1;opacity:.6}.tree-part.active{color:#d3eff8;border-left-color:#8fd7ee;background:#18384a}.tree-part.active .mini-dot{background:#a5eaff;box-shadow:0 0 6px #a5eaff}.tree-part.not-installed .check{color:#e4b373;opacity:1}.tree-part.visited .mini-dot{background:#55cdbc}.panel-bottom{display:flex;gap:10px;align-items:center;padding:15px 16px;background:#0c2330;border-top:1px solid var(--line);flex:none}.panel-bottom div:nth-child(2){display:flex;flex-direction:column;gap:4px}.panel-bottom b{font:750 10px ui-monospace,monospace;color:#93d9ca}.panel-bottom small{font:10px ui-monospace,monospace;color:#6793a0}.progress-ring{margin-left:auto;border:3px solid #315e67;border-top-color:#7be2c4;border-right-color:#7be2c4;border-radius:50%;height:38px;width:38px;display:grid;place-content:center;color:#a9e4d4;font-size:9px;font-weight:800}.stage-view{display:flex;flex-direction:column;min-width:0;min-height:0;background:#071725}.viewport{position:relative;flex:1;min-height:190px;overflow:hidden;background:radial-gradient(ellipse at 44% 40%,#163444 0,#0a202e 42%,#061520 83%);isolation:isolate}#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;z-index:1}#scene:active{cursor:grabbing}.viewport-gradient{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,13,24,.5) 0,transparent 34%,transparent 75%,rgba(3,12,23,.65));z-index:2}.viewport-head{position:absolute;top:23px;left:30px;right:28px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none;z-index:3}.viewport-head h1{font-size:clamp(38px,3.5vw,65px);font-weight:800;line-height:1.07;letter-spacing:4px;margin:7px 0 1px;text-shadow:0 3px 28px #05111c}.viewport-head h1 span{color:#86c6d2}.subtitle{font:700 10px ui-monospace,monospace;letter-spacing:2px;color:#9db8c6}.subtitle em{color:#42798e}.viewport-stats{display:flex;gap:18px}.viewport-stats div{display:flex;flex-direction:column;align-items:flex-end;gap:3px;border-left:1px solid #5472837d;padding-left:14px}.viewport-stats strong{font:600 19px ui-monospace,monospace;color:#b5dbe6}.viewport-stats span{font:700 8px ui-monospace,monospace;letter-spacing:1px;color:#769cad}.viewport-left-rail{position:absolute;left:12px;top:40%;bottom:24%;z-index:3;display:flex;flex-direction:column;justify-content:space-between;writing-mode:vertical-rl;transform:rotate(180deg);font:700 8px ui-monospace,monospace;letter-spacing:1px;color:#557c8b;pointer-events:none}.viewport-left-rail i{font-style:normal;color:#71d7bf}.center-reticle{position:absolute;top:50%;left:50%;font-size:17px;color:#7cadba57;transform:translate(-50%,-50%);pointer-events:none;z-index:3}.viewport-footer{position:absolute;bottom:14px;left:28px;right:25px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;pointer-events:none}.view-cameras,.interact-help{display:flex;align-items:center;gap:4px;pointer-events:auto}.view-cameras .eyebrow{margin-right:10px}.view-cameras button{font:700 10px ui-monospace,monospace;color:#9bb6c2;padding:8px 10px;background:#0a2435c9;border:1px solid #37607466}.view-cameras button.selected{color:#c8f6fd;border-color:#8ddbea88;background:#214358e0}.interact-help{font:700 8px ui-monospace,monospace;color:#7c9aab;letter-spacing:.5px;flex-wrap:wrap;justify-content:flex-end}.interact-help span{background:#061c2bbe;padding:6px}.corner{position:absolute;width:23px;height:23px;border:1px solid #7abec354;pointer-events:none;z-index:2}.corner.tl{top:12px;left:12px;border-right:0;border-bottom:0}.corner.tr{top:12px;right:12px;border-left:0;border-bottom:0}.corner.bl{bottom:12px;left:12px;border-right:0;border-top:0}.corner.br{bottom:12px;right:12px;border-left:0;border-top:0}.labels-layer{position:absolute;inset:0;pointer-events:none;z-index:4}.scene-label{position:absolute;display:flex;align-items:center;gap:6px;padding:4px 7px;background:#0a2530e0;border:1px solid #609ab36e;color:#c3f0f6;font:700 9px ui-monospace,monospace;white-space:nowrap;transform:translate(16px,-8px);box-shadow:0 2px 6px #020d1555}.scene-label:before{content:'';position:absolute;left:-17px;width:17px;border-top:1px solid #70c4d5}.scene-label b{color:#78cddf}.scene-label.selected{border-color:#b6f3ff;color:white}.console{height:265px;flex:none;background:#0a1c2a;border-top:1px solid #3b6777;overflow:auto}.console-head{height:46px;padding:0 24px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.console-head .console-context{font-size:11px;color:#91acb8}.console-data{margin-left:auto;font:700 9px ui-monospace,monospace;color:#83a6b3}.console-data span{color:#67d5bc}.console-section{padding:13px 24px 7px}.console-section.hidden{display:none}.control-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font:700 10px ui-monospace,monospace;letter-spacing:.7px;color:#a8cad5}.control-header span{color:#82d5eb}.control-header .minor{color:#607e8f;font-size:9px}input[type=range]{accent-color:#9cdef0;cursor:pointer}#explosionSlider{width:100%;height:14px;margin:1px 0 6px}.explosion-presets{display:flex;gap:5px}.explosion-presets button,.action-row button{background:#102b3b;border:1px solid #335468;padding:8px 10px;color:#8eb5c4;font:700 9px ui-monospace,monospace;letter-spacing:.7px;white-space:nowrap}.explosion-presets button.active,.action-row button.active{background:#235569;border-color:#9bdeef;color:#d4f6fc}.control-low{display:flex;align-items:center;gap:18px;margin-top:10px;font:700 9px ui-monospace,monospace;letter-spacing:.5px;color:#7897a7}.control-low button{margin-left:auto;padding:4px 8px;background:#153245;color:#9fd4df;border:1px solid #3f7788;font:700 9px ui-monospace,monospace}.control-low select,.speed-control select{background:#102b3c;color:#c6e6ef;border:1px solid #325366;padding:4px 6px;font-size:10px;margin-left:5px}.control-low input{vertical-align:middle}.operation-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.operation-controls label{font:700 9px ui-monospace,monospace;color:#9bbcca;display:grid;grid-template-columns:1fr 1.25fr 36px;align-items:center;gap:8px;white-space:nowrap}.operation-controls input{width:100%}.operation-controls b{color:#9adbe8;text-align:right}.action-row{display:flex;flex-wrap:wrap;gap:8px}.action-row .quiet-button{border-color:#62513d;color:#d7b27e}.transport{height:49px;border-top:1px solid var(--line);padding:0 22px;display:flex;align-items:center;gap:22px}.transport-buttons{display:flex;gap:5px}.transport-buttons button{height:28px;min-width:33px;background:#142d3c;border:1px solid #294b5f;font-size:14px;color:#bddbe5}.transport-buttons .play-primary{font:800 10px ui-monospace,monospace;letter-spacing:.9px;color:#092536;background:#a2ebf6;min-width:74px}.timeline{flex:1;min-width:30px}.timeline>span{color:#7c9dab;font:700 9px ui-monospace,monospace;letter-spacing:1px}.timeline-track{height:3px;background:#254256;margin-top:5px}.timeline-track span{display:block;height:100%;width:0;background:#9fdaeb}.speed-control{font:700 9px ui-monospace,monospace;color:#9eb7c5;white-space:nowrap}.selection-label{display:flex;justify-content:space-between;padding:13px 19px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.monospace{font:750 11px ui-monospace,monospace;color:#c7e9f0}.selected-card{text-align:center;padding:21px 16px;background:radial-gradient(ellipse at 50% 20%,#1a3e4b66,transparent 65%)}.part-thumbnail{display:grid;place-items:center;width:76px;height:73px;margin:auto;border:1px solid #537f8b88;color:#bceaf0;background:radial-gradient(ellipse,#1f4c58,#0b2837);font-size:45px;transform:rotate(-2deg)}.selected-card h3{font-size:15px;font-weight:750;line-height:1.3;margin:13px 5px 7px}.group-pill{display:inline-block;border:1px solid #32697f;padding:5px 9px;color:#8dd1e0;font:700 9px ui-monospace,monospace;letter-spacing:.8px}.inspector-section{padding:16px 19px;border-top:1px solid var(--line)}.inspector-section p{color:#afc3c9;font-size:11.5px;line-height:1.67}.role-line{display:flex;justify-content:space-between;gap:12px;margin-top:15px;font:700 9px ui-monospace,monospace}.role-line span{color:#6e90a0}.role-line b{color:#afdde8;text-align:right}.material-chip{display:flex;align-items:center;gap:11px;margin:13px 0}.material-swatch{display:block;width:33px;height:33px;border:1px solid #87b8bf;border-radius:3px;background:linear-gradient(120deg,#e0eff1,#536e7f)}.material-chip b{display:block;font:700 11px ui-monospace,monospace}.material-chip small{display:block;color:#66899a;font:9px ui-monospace,monospace;margin-top:5px}.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:14px 0 2px}.spec-grid div{display:flex;flex-direction:column;gap:6px}.spec-grid span{font:700 8px ui-monospace,monospace;color:#6f91a0}.spec-grid b{font:750 11px ui-monospace,monospace;color:#b9d9e0}#dependencies{color:#a5c3cd;font:11px/1.6 ui-monospace,monospace;margin-top:10px}.fit-feedback{border-left:2px solid #75c9bb;padding:8px 9px;background:#102c38;color:#90cdbf;font-size:10px;line-height:1.5;margin-top:10px}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.tools-grid button{padding:9px 5px;background:#142e40;border:1px solid #345467;color:#a3c9d8;font:700 9px ui-monospace,monospace;letter-spacing:.3px}.tools-grid button:hover{background:#245367;color:white}.input-tip{margin-top:10px;color:#7096a3;font-size:10px;line-height:1.5}.inspector-end{padding:16px 19px;border-top:1px solid var(--line)}.cert{display:flex;align-items:center;gap:10px}.cert>span{font-size:23px;color:#d9bc8a}.cert b{font:700 9px ui-monospace,monospace;color:#d1c29a}.cert small{display:block;font-size:10px;color:#7f98a4;margin-top:5px}.inspector-end a{display:inline-block;margin-top:16px;color:#a4e1f0;text-decoration:none;font:700 10px ui-monospace,monospace}#toast{position:fixed;left:50%;bottom:24px;z-index:20;padding:12px 16px;background:#123849;border:1px solid #83d1e2;color:#daeff4;box-shadow:0 14px 50px #0008;font:12px ui-monospace,monospace;transform:translate(-50%,40px);opacity:0;transition:.28s;pointer-events:none;max-width:min(500px,90vw);text-align:center}#toast.show{transform:translate(-50%,0);opacity:1}body.wide .sidebar{display:none}body.wide .workspace{grid-template-columns:1fr}
@media(max-width:1250px){.workspace{grid-template-columns:218px minmax(0,1fr) 230px}.panel-head{padding:20px 14px 13px}.inspector-section{padding:14px}.modes button{padding:0 10px}.viewport-stats{gap:7px}.viewport-stats div{padding-left:9px}.interact-help{display:none}.console-head{padding:0 14px}.console-section{padding:13px 14px 6px}.transport{padding:0 12px}.edition{display:none}}
@media(max-width:940px){.topbar{height:56px;padding:0 12px}.brand{min-width:auto}.brand small{font-size:7px}.model-meta{display:none}.modebar{height:47px;padding:0 5px}.mode-status{display:none}.workspace{grid-template-columns:1fr}.sidebar{position:fixed;top:103px;bottom:0;z-index:12;width:min(335px,85vw);box-shadow:0 0 40px #000a}.tree-panel{left:0;transform:translateX(-105%);transition:transform .22s}.inspector{right:0;transform:translateX(105%);transition:transform .22s}.tree-panel.mobile-open,.inspector.mobile-open{transform:translateX(0)}.mobile-only{display:inline-block;background:transparent;border:1px solid #325163;padding:7px 10px;color:#c1e9f4}.console{height:253px}.viewport-head{left:19px;top:19px}.viewport-head h1{font-size:40px}.viewport-stats div:last-child{display:none}.viewport-footer{left:16px;right:12px}.viewport-left-rail{display:none}}
@media(max-width:580px){.topbar{height:54px}.brand-mark{font-size:24px;width:34px;line-height:34px}.brand strong{font-size:15px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:1px}.icon-button{padding:7px}.icon-button .hide-mobile{display:none}.modebar{height:45px}.modes button{font-size:9px;padding:0 10px}.mode-glyph{display:none}.sidebar{top:99px}.viewport-head h1{font-size:34px}.viewport-head .eyebrow{font-size:8px}.subtitle{font-size:8px;letter-spacing:.6px}.viewport-stats{display:none}.viewport-footer{bottom:11px}.view-cameras{flex-wrap:wrap;max-width:100%}.view-cameras .eyebrow{display:none}.view-cameras button{font-size:9px;padding:7px}.console{height:270px}.console-head{height:38px}.console-context{display:none}.console-data{font-size:8px}.console-section{padding:10px 11px 6px}.explosion-presets{overflow-x:auto}.explosion-presets button{padding:8px;flex-shrink:0;font-size:8px}.control-low{gap:10px;flex-wrap:wrap}.transport{height:51px;gap:9px}.transport-buttons{gap:2px}.transport-buttons button{min-width:29px;padding:5px}.transport-buttons .play-primary{min-width:55px}.speed-control select{padding:3px}.operation-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.operation-controls label{grid-template-columns:1fr 35px;font-size:9px}.operation-controls input{grid-column:1/3;grid-row:2}.operation-controls b{grid-column:2;grid-row:1}.action-row button{font-size:8px;padding:7px}.selected-card{padding:14px}.inspector-section p{line-height:1.5}}
@media(max-height:720px){.topbar{height:51px}.modebar{height:44px}.console{height:239px}.viewport-head{top:12px}.viewport-head h1{font-size:35px}.sidebar .panel-head{padding-top:12px}.inspector-section{padding-top:10px;padding-bottom:10px}}
