*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1e1e1e;color:#ccc;overflow:hidden;height:100vh}#app{display:flex;flex-direction:column;height:100vh}#toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:40px;background:#2d2d2d;border-bottom:1px solid #404040}#toolbar h1{font-size:14px;font-weight:600;color:#e0e0e0}#upload-btn{padding:4px 12px;background:#0078d4;color:#fff;border-radius:4px;cursor:pointer;font-size:12px}#upload-btn:hover{background:#1a8adf}#main{display:flex;flex:1;overflow:hidden}#topo-tree,#properties{width:250px;min-width:200px;background:#252526;border-right:1px solid #404040;font-size:12px;display:flex;flex-direction:column}#properties{overflow-y:auto}#tree-content{display:flex;flex-direction:column;flex:1;overflow:hidden}#properties{border-right:none;border-left:1px solid #404040}.panel-title{padding:8px 12px;font-weight:600;font-size:11px;text-transform:uppercase;color:#888;border-bottom:1px solid #333}#viewport{flex:1;position:relative;background:#1a1a2e}#status-bar{height:24px;line-height:24px;padding:0 12px;background:#007acc;color:#fff;font-size:12px}#loading-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}#loading-overlay.hidden{display:none}.loader{text-align:center;color:#fff}.loader progress{width:300px;margin-top:12px}.tree-breadcrumb{display:flex;align-items:center;gap:2px;padding:4px 8px;background:#1e1e1e;border-bottom:1px solid #333;min-height:24px;overflow-x:auto;white-space:nowrap;font-size:11px}.tree-breadcrumb:empty{display:none}.breadcrumb-item{padding:1px 4px;border-radius:3px;cursor:pointer;color:#888}.breadcrumb-item:hover{background:#2a2d2e;color:#ccc}.breadcrumb-item.active{color:#e0e0e0;font-weight:600}.breadcrumb-sep{color:#555;font-size:10px}.tree-body{overflow-y:auto;flex:1}.tree-node{padding:2px 0 2px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tree-node:hover{background:#2a2d2e}.tree-node.selected{background:#094771;color:#fff}.tree-toggle{display:inline-block;width:16px;text-align:center;color:#888}.tree-icon{margin-right:4px}.tree-children{padding-left:8px}.tree-children.collapsed{display:none}.prop-row{display:flex;padding:4px 12px;border-bottom:1px solid #333}.prop-key{flex:0 0 100px;color:#888;font-size:11px}.prop-val{flex:1;color:#ddd;font-size:11px}#viewport.drag-over:after{content:"Drop STEP/BREP file here";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0078d44d;border:2px dashed #0078d4;font-size:18px;color:#fff;pointer-events:none}
