html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}*{box-sizing:border-box}.builder{color:#fff;background:#111;font-family:system-ui,sans-serif;position:fixed;inset:0;overflow:hidden}.viewport{position:absolute;inset:0}.viewport canvas{width:100%;height:100%;display:block}.hud{pointer-events:none;position:fixed;inset:0}.crosshair{width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair:before,.crosshair:after{content:"";background:#fff;position:absolute}.crosshair:before{width:2px;height:18px;top:0;left:8px}.crosshair:after{width:18px;height:2px;top:8px;left:0}.dismantle-active .crosshair:before,.dismantle-active .crosshair:after{background:#ff9a1f}.picker-active .crosshair{display:none}.dismantle-indicator{color:#ffd7ab;letter-spacing:.08em;text-transform:uppercase;background:#1c0c00cc;border:1px solid #ff9a1f8c;border-radius:999px;padding:5px 9px;font-size:12px;position:absolute;top:calc(50% - 34px);left:50%;transform:translate(-50%)}.locked-placement-indicator{color:#b9ffc9;letter-spacing:.08em;text-transform:uppercase;background:#021a0acc;border:1px solid #33ff668c;border-radius:999px;padding:5px 9px;font-size:12px;position:absolute;top:calc(50% - 34px);left:50%;transform:translate(-50%)}.dismantle-loader{background:#0000006b;border:1px solid #ff9a1f80;border-radius:999px;width:68px;height:6px;position:absolute;top:calc(50% + 22px);left:50%;overflow:hidden;transform:translate(-50%)}.dismantle-loader>span{transform-origin:0;background:linear-gradient(90deg,#ff9a1f,#ffd38a);width:100%;height:100%;display:block}.help{background:#0000008c;border-radius:8px;flex-direction:column;gap:4px;max-width:420px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex;position:absolute;top:16px;left:16px}.help.collapsed{background:#0000006b;gap:6px;max-width:280px;padding:10px 12px}.hud-actions{pointer-events:auto;flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.panel-switch{pointer-events:auto;color:#ffffffe0;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.hud-actions>button,.panel-switch>button,.picker-item>button,.variant-popover button{color:#111;cursor:pointer;min-height:34px;font:inherit;background:#f4f4f4;border:1px solid #0000;border-radius:6px;padding:8px 12px;font-weight:600}.hud-actions>button:hover,.hud-actions>button:focus-visible,.panel-switch>button:hover,.panel-switch>button:focus-visible,.picker-item>button:hover,.picker-item>button:focus-visible,.variant-popover button:hover,.variant-popover button:focus-visible{border-color:#3f6;outline:none}.hud-actions>button:disabled{color:#1111117a;cursor:not-allowed;background:#f4f4f485;border-color:#0000}.picker-item>button.active,.panel-switch>button.active,.variant-popover button.active{color:#071107;background:#3f6}.selection{color:#ffffffb8}.state-file-status.saved{color:#9cffb2}.state-file-status.saving,.state-file-status.unsaved,.state-file-status.permission-needed{color:#ffd38a}.state-file-status.error,.state-file-status.unsupported{color:#ffb1b1}.state-file-message{color:#ffffff94;overflow-wrap:anywhere;max-width:100%}.picker-backdrop{pointer-events:auto;background:#00000038;place-items:center;display:grid;position:absolute;inset:0}.part-picker{background:#0a0c0ee6;border:1px solid #ffffff29;border-radius:8px;width:min(520px,100vw - 32px);padding:14px;box-shadow:0 18px 50px #00000073}.part-picker header{color:#ffffffbf;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:13px;display:flex}.part-picker header strong{color:#fff;font-size:15px}.picker-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.picker-item{position:relative}.picker-item>button{color:#fff;-webkit-user-select:none;user-select:none;touch-action:none;background:#ffffff1c;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;width:100%;min-height:72px;display:flex}.picker-item small{color:#ffffffa3;font-size:12px}.variant-popover{z-index:2;background:#000000d6;border-radius:8px;gap:6px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.variant-popover button{white-space:nowrap;color:#fff;background:#ffffff24}
