:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;overflow:hidden}#app{margin:0 auto;text-align:center}canvas{overflow:hidden}.viewport-icon{position:absolute;top:0;left:0;transform:translate(-50%,-50%);transform-origin:center;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .25s,box-shadow .1s,filter .25s,background .25s;box-shadow:0 0 24px #0002}.viewport-icon.selected{filter:brightness(1.1);box-shadow:0 0 16px #fff2}.viewport-icon.selected.gizmo-on{box-shadow:none;opacity:1;pointer-events:none}.viewport-icon.no-bg{background:none!important;box-shadow:none;width:128px;height:128px}.viewport-icon:not(.selected):hover{transform-origin:center;transform:translate(-50%,-50%) scale(1.1)}.viewport-icon.selected:hover{transform:translate(-50%,-50%) scale(1.05);filter:brightness(1.25)}.viewport-icon img{-webkit-user-select:none;user-select:none;pointer-events:none}.viewport-icon.selected.gizmo-on img{filter:drop-shadow(0 0 8px #000000)}.viewport-line{position:absolute;border-left:1px dashed #ffffff;width:0;transition:opacity .25s}.viewport-line:not(.show){opacity:0}.viewport-line:after{content:"×";position:absolute;transform:translate(-50%,50%);bottom:0;display:flex;align-items:center;justify-content:center}.viewport-icon.selected.gizmo-on .viewport-arrow{display:none}.viewport-arrow{position:absolute;width:28px;height:4px;left:50%;top:50%;transform-origin:left center;transition:background .25s}.viewport-arrowhead{position:absolute;right:-16px;top:-6.5px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;transition:border-left .25s}.viewport-icon .label{position:absolute;left:calc(100% + 1rem);right:unset;max-width:0;font-family:monospace;font-size:smaller;white-space:nowrap;display:flex;flex-direction:row;align-items:start;justify-content:start;text-align:left;pointer-events:none;overflow-x:visible;opacity:0;transition:opacity .5s}.viewport-icon .label.left{left:unset;right:calc(100% + 1rem);justify-content:end;text-align:right}#hierarchy{position:absolute;top:6rem;right:4rem;display:flex;flex-direction:column;align-items:start;gap:.25rem}.hierarchy-item{background:#1a1a1a;width:100%;display:flex;align-items:start;gap:.5rem;padding:.5rem 1rem;border-radius:.25rem;border:1px solid #00000000}.hierarchy-item:hover{cursor:pointer;background:#1d1d1d}.hierarchy-item.selected{border:1px solid #343ded}.hierarchy-item:before{content:"📦"}.color-picker{position:absolute;background:#14161999;border-radius:.5rem;padding:1rem;display:flex;gap:.5rem;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:4px 4px 16px #00000059}.color-picker .color{width:1.5rem;height:1.5rem;border-radius:.25rem;cursor:pointer;transition:scale .25s}.color-picker .color:hover{scale:1.1}#titleblock{position:absolute;top:2rem;left:2rem;width:calc(100% - 4rem);font-size:small;font-family:monospace;pointer-events:none;border-bottom:.5px solid white;padding-bottom:.5rem}#gizmo-controls{position:absolute;top:5rem;left:2rem}#gizmo-controls input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:2rem;height:1.25rem;border:.5px solid #aaa;border-radius:6px;display:inline-block;cursor:pointer;transition:background-color .25s}#gizmo-controls input[type=radio]:checked{background-color:#aaa}#gizmo-controls label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#fff;text-transform:capitalize}#gizmo-controls input[type=radio]:checked+label{font-weight:700}#proto-console{position:absolute;bottom:2rem;left:2rem;min-width:25%;max-height:12rem;background:#14161959;border-radius:.5rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;padding:1rem;display:flex;flex-direction:column;justify-content:end;overflow:hidden}#proto-console .message:before{content:"> "}#proto-console .message{color:#0f0;font-family:monospace;font-size:small}
