:root { color-scheme: light dark; } body { background: light-dark( #fff, #333 ); color: light-dark( #333, #e0e0e0 ); margin: 0; padding: 10px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 12px; } hr { color: light-dark( #333, #e0e0e0 ); } #scene-tree { width: 100%; height: 100%; overflow: auto; } .header { padding: 8px 12px; background: light-dark( #f5f5f5, #333 ); border-radius: 4px; margin-bottom: 16px; font-family: monospace; color: light-dark( #666, #aaa ); } .header a { color: light-dark( #666, #aaa ); text-decoration: none; } .header a:hover { color: light-dark( #333, #e0e0e0 ); } .section { margin-bottom: 24px; } .section h3 { margin: 0 0 8px 0; font-size: 11px; text-transform: uppercase; color: light-dark( #666, #aaa ); font-weight: 500; border-bottom: 1px solid light-dark( #eee, #444 ); padding-bottom: 4px; } .tree-item { padding: 4px; cursor: pointer; display: flex; align-items: center; } .tree-item:hover { background: light-dark( #f0f0f0, #555 ); } .tree-item .icon { margin-right: 4px; opacity: 0.7; } .tree-item .label { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tree-item .label .object-details { color: #aaa; margin-left: 4px; font-weight: normal; } .tree-item .type { margin-left: 8px; opacity: 0.5; font-size: 0.9em; } .children { margin-left: 0; } /* Style for clickable renderer summary */ .renderer-summary { cursor: pointer; } .renderer-summary:hover { background: light-dark( #f0f0f0, #555 ); } /* Hide default details marker when using custom summary */ details.renderer-container > summary.renderer-summary { /* Target summary */ list-style: none; /* Hide default arrow */ cursor: pointer; /* Make the summary div look clickable */ } details.renderer-container > summary.renderer-summary::-webkit-details-marker { display: none; /* Hide default arrow in WebKit */ } /* Style for the toggle icon */ .toggle-icon::before { content: '▶'; /* Default: collapsed */ display: inline-block; width: 1em; margin-right: 2px; opacity: 0.7; } details.renderer-container[open] > summary.renderer-summary .toggle-icon::before { content: '▼'; /* Expanded */ } /* Floating object details panel */ .floating-details { position: fixed; z-index: 1000; background: light-dark( #fff, #2a2a2a ); border: 1px solid light-dark( #ccc, #555 ); border-radius: 6px; padding: 12px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); max-width: 300px; min-width: 200px; font-size: 11px; pointer-events: none; /* Prevent interfering with mouse interactions */ opacity: 0; transform: translateY(10px); transition: opacity 0.2s ease, transform 0.2s ease; } .floating-details.visible { opacity: 1; transform: translateY(0); } .floating-details h4 { margin: 8px 0 4px 0; font-size: 10px; text-transform: uppercase; color: light-dark( #666, #aaa ); border-bottom: 1px solid light-dark( #eee, #444 ); padding-bottom: 2px; } .floating-details .property-row { margin-bottom: 1px; font-size: 10px; } /* Scroll to canvas button */ .scroll-to-canvas-btn { background: none; border: none; cursor: pointer; font-size: 12px; margin-left: 8px; padding: 2px 4px; border-radius: 3px; opacity: 0.6; transition: opacity 0.2s ease, background 0.2s ease; } .scroll-to-canvas-btn:hover { opacity: 1; background: light-dark( rgba(0,0,0,0.1), rgba(255,255,255,0.1) ); } .scroll-to-canvas-placeholder { font-size: 12px; margin-left: 8px; padding: 2px 4px; opacity: 0.3; } /* Two-column layout for wide panel */ @media (min-width: 1000px) { .sections-container { display: flex; gap: 20px; align-items: flex-start; } .sections-container .section { flex: 1; margin-bottom: 0; } /* Ensure sections have equal width */ .sections-container .section:first-child { min-width: 0; /* Allow flexbox to shrink */ } .sections-container .section:last-child { min-width: 0; /* Allow flexbox to shrink */ } }